diff options
author | Scott Dodson <sdodson@redhat.com> | 2016-03-14 18:15:17 -0400 |
---|---|---|
committer | Scott Dodson <sdodson@redhat.com> | 2016-03-14 18:22:10 -0400 |
commit | 15ff077c5b2fc622c749c96ceea707aef13d7470 (patch) | |
tree | 7248b0189507a1888bc5e4abda4bfc0fe24e3880 | |
parent | c633ce7b8707f311763fa4b707f1ea159265c7d4 (diff) | |
download | openshift-15ff077c5b2fc622c749c96ceea707aef13d7470.tar.gz openshift-15ff077c5b2fc622c749c96ceea707aef13d7470.tar.bz2 openshift-15ff077c5b2fc622c749c96ceea707aef13d7470.tar.xz openshift-15ff077c5b2fc622c749c96ceea707aef13d7470.zip |
OSE/Origin < 3.2/1.2 should not get Docker 1.9
RHEL and Centos docker-1.9 RPMs will have a Conflicts for origin and
atomic-openshift < 3.2. If we left yum to its own devices we'd get a mess when
trying to install once these packages land in the repos. So avoid installing
docker-1.9 on Origin/OSE < 1.2/3.2.
See: https://bugzilla.redhat.com/show_bug.cgi?id=1304038
Fedora doesn't keep old packages in repos so we just get the latest there.
Docker 1.10 should be fine if and when it becomes available.
-rw-r--r-- | roles/docker/tasks/main.yml | 26 |
1 files changed, 25 insertions, 1 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 |