diff options
-rw-r--r-- | roles/docker/tasks/main.yml | 26 | ||||
-rw-r--r-- | roles/openshift_master/tasks/main.yml | 15 |
2 files changed, 31 insertions, 10 deletions
diff --git a/roles/docker/tasks/main.yml b/roles/docker/tasks/main.yml index 4164a9ec0..506cecfea 100644 --- a/roles/docker/tasks/main.yml +++ b/roles/docker/tasks/main.yml @@ -1,7 +1,31 @@ --- # tasks file for docker + +# Avoid docker 1.9 when installing origin < 1.2 or OSE < 3.2 on RHEL/Centos and +# See: https://bugzilla.redhat.com/show_bug.cgi?id=1304038 + +- name: Default to latest docker for 1.2/3.2 or Fedora + set_fact: + docker_version: '' + when: openshift.common.version_gte_3_2_or_1_2 | bool or ansible_distribution == 'Fedora' + +- name: Gather latest version of docker + shell: > + yum list available -e 0 -q "docker" 2>&1 | tail -n +2 | awk '{ print $2 }' | sort -r | tr '\n' ' ' | tail -n 1 + register: latest_docker + when: not openshift.common.version_gte_3_2_or_1_2 | bool and ansible_distribution != 'Fedora' + +- name: Check if Docker 1.9 is the latest + set_fact: + docker19_is_latest: "{{ True if '1.9' in latest_docker.stdout else False }}" + when: not openshift.common.version_gte_3_2_or_1_2 | bool and ansible_distribution != 'Fedora' + +- set_fact: + docker_version: "{{ '-1.8.2' if docker19_is_latest | bool else ''}}" + when: not openshift.common.version_gte_3_2_or_1_2 | bool and ansible_distribution != 'Fedora' + - name: Install docker - action: "{{ ansible_pkg_mgr }} name=docker state=present" + action: "{{ ansible_pkg_mgr }} name=docker{{ docker_version }} state=present" when: not openshift.common.is_atomic | bool - name: enable and start the docker service diff --git a/roles/openshift_master/tasks/main.yml b/roles/openshift_master/tasks/main.yml index 759cda7d0..1f499dc93 100644 --- a/roles/openshift_master/tasks/main.yml +++ b/roles/openshift_master/tasks/main.yml @@ -319,6 +319,9 @@ changed_when: false register: _ansible_ssh_user_gid +- set_fact: + client_users: "{{ [ansible_ssh_user, 'root'] | unique }}" + - name: Create the client config dir(s) file: path: "~{{ item }}/.kube" @@ -326,9 +329,7 @@ mode: 0700 owner: "{{ item }}" group: "{{ 'root' if item == 'root' else _ansible_ssh_user_gid.stdout }}" - with_items: - - root - - "{{ ansible_ssh_user }}" + with_items: client_users # TODO: Update this file if the contents of the source file are not present in # the dest file, will need to make sure to ignore things that could be added @@ -336,9 +337,7 @@ command: cp {{ openshift_master_config_dir }}/admin.kubeconfig ~{{ item }}/.kube/config args: creates: ~{{ item }}/.kube/config - with_items: - - root - - "{{ ansible_ssh_user }}" + with_items: client_users - name: Update the permissions on the admin client config(s) file: @@ -347,6 +346,4 @@ mode: 0700 owner: "{{ item }}" group: "{{ 'root' if item == 'root' else _ansible_ssh_user_gid.stdout }}" - with_items: - - root - - "{{ ansible_ssh_user }}" + with_items: client_users |