diff options
Diffstat (limited to 'roles/openshift_master/tasks/main.yml')
-rw-r--r-- | roles/openshift_master/tasks/main.yml | 73 |
1 files changed, 52 insertions, 21 deletions
diff --git a/roles/openshift_master/tasks/main.yml b/roles/openshift_master/tasks/main.yml index 9f28a3469..7a7f02be9 100644 --- a/roles/openshift_master/tasks/main.yml +++ b/roles/openshift_master/tasks/main.yml @@ -1,33 +1,64 @@ --- -# tasks file for openshift_master -- name: Install Origin +- name: Install OpenShift Master package yum: pkg=openshift-master state=installed - # fixme: Once openshift stops resolving hostnames for node queries remove this... -- name: Set hostname to IP Addr (WORKAROUND) - command: /usr/bin/hostname {{ oo_bind_ip }} +- name: Configure OpenShift settings + lineinfile: + dest: /etc/sysconfig/openshift-master + regexp: '^OPTIONS=' + line: "OPTIONS=\"--public-master={{ openshift_hostname }} {% if + openshift_node_ips %} --nodes={{ openshift_node_ips + | join(',') }} {% endif %} --loglevel={{ openshift_master_debug_level }}\"" + notify: + - restart openshift-master -- name: Configure OpenShift Master settings +- name: Set default registry url lineinfile: dest: /etc/sysconfig/openshift-master - regexp: "{{ item.regex }}" - line: "{{ item.line }}" - with_items: - - { regex: '^OPTIONS=', line: 'OPTIONS=\"--public-master={{ oo_public_ip }} --nodes={{ oo_node_ips | join(",") }} --loglevel=5\"' } + regexp: '^IMAGES=' + line: "IMAGES={{ openshift_registry_url }}" + when: openshift_registry_url is defined notify: - - restart openshift-master + - restart openshift-master -- name: Open firewalld port for etcd embedded in OpenShift - firewalld: port=4001/tcp permanent=false state=enabled +- name: Set master OpenShift facts + include: "{{ role_path | dirname }}/openshift_common/tasks/set_facts.yml" + facts: + - section: master + option: debug_level + value: "{{ openshift_master_debug_level }}" + - section: master + option: public_ip + value: "{{ openshift_public_ip }}" + - section: master + option: externally_managed + value: "{{ openshift_master_manage_service_externally }}" -- name: Save firewalld port for etcd embedded in - firewalld: port=4001/tcp permanent=true state=enabled +- name: Start and enable openshift-master + service: name=openshift-master enabled=yes state=started + when: not openshift_master_manage_service_externally + register: result -- name: Open firewalld port for OpenShift - firewalld: port=8080/tcp permanent=false state=enabled +#TODO: remove this when origin PR #1204 has landed in OSE +- name: need to pause here, otherwise we attempt to copy certificates generated by the master before they are generated + pause: seconds=30 + when: result | changed -- name: Save firewalld port for OpenShift - firewalld: port=8080/tcp permanent=true state=enabled +- name: Disable openshift-master if openshift-master is managed externally + service: name=openshift-master enabled=false + when: openshift_master_manage_service_externally -- name: Enable OpenShift - service: name=openshift-master enabled=yes state=started +# TODO: create an os_vars role that has generic env related config and move +# the root kubeconfig setting there, cannot use dependencies to force ordering +# with openshift_node and openshift_master because the way conditional +# dependencies work with current ansible would also exclude the +# openshift_common dependency. +- name: Create .kube directory + file: + path: /root/.kube + state: directory + mode: 0700 +- name: Configure root user kubeconfig + command: cp /var/lib/openshift/openshift.local.certificates/admin/.kubeconfig /root/.kube/.kubeconfig + args: + creates: /root/.kube/.kubeconfig |