From f744401ae8b1968bc0d404f5cb5504c492a2f0aa Mon Sep 17 00:00:00 2001 From: Jason DeTiberus Date: Thu, 5 Mar 2015 16:37:39 -0500 Subject: Do not set KUBECONFIG for root user - instead of setting KUBECONFIG, copy the admin kubeconfig to /root/.kube/.kubeconfig in the openshift_master and openshift_node roles - pause for 30 seconds if the openshift-master service has changed state, since the file we are copying is generated by the master --- roles/openshift_common/tasks/main.yml | 8 -------- roles/openshift_master/tasks/main.yml | 21 +++++++++++++++++++++ roles/openshift_node/tasks/main.yml | 15 +++++++++++++++ 3 files changed, 36 insertions(+), 8 deletions(-) diff --git a/roles/openshift_common/tasks/main.yml b/roles/openshift_common/tasks/main.yml index 723bdd9fa..728bba4e4 100644 --- a/roles/openshift_common/tasks/main.yml +++ b/roles/openshift_common/tasks/main.yml @@ -7,14 +7,6 @@ - name: Configure local facts file file: path=/etc/ansible/facts.d/ state=directory mode=0750 -- name: Add KUBECONFIG to .bash_profile for user root - lineinfile: - dest: /root/.bash_profile - regexp: "KUBECONFIG=" - line: "export KUBECONFIG=/var/lib/openshift/openshift.local.certificates/admin/.kubeconfig" - state: present - insertafter: EOF - - name: Set common OpenShift facts include: set_facts.yml facts: diff --git a/roles/openshift_master/tasks/main.yml b/roles/openshift_master/tasks/main.yml index 2f8f8b950..58a8b85ba 100644 --- a/roles/openshift_master/tasks/main.yml +++ b/roles/openshift_master/tasks/main.yml @@ -51,7 +51,28 @@ - name: Start and enable openshift-master service: name=openshift-master enabled=yes state=started when: not openshift_master_manage_service_externally + register: result + +#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: Disable openshift-master if openshift-master is managed externally service: name=openshift-master enabled=false when: openshift_master_manage_service_externally + +# 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: 700 +- name: Configure root user kubeconfig + command: cp /var/lib/openshift/openshift.local.certificates/admin/.kubeconfig /root/.kube/.kubeconfig + args: + creates: /root/.kube/.kubeconfig diff --git a/roles/openshift_node/tasks/main.yml b/roles/openshift_node/tasks/main.yml index de010bd0c..56858dbc3 100644 --- a/roles/openshift_node/tasks/main.yml +++ b/roles/openshift_node/tasks/main.yml @@ -62,6 +62,21 @@ service: name=openshift-node enabled=false when: openshift_node_manage_service_externally +# 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: 700 +- name: Configure root user kubeconfig + command: cp /var/lib/openshift/openshift.local.certificates/admin/.kubeconfig /root/.kube/.kubeconfig + args: + creates: /root/.kube/.kubeconfig + # TODO: expose openshift_register_node options to allow for overriding the # defaults. - name: Register node (if not already registered) -- cgit v1.2.3