|
@@ -4,10 +4,20 @@
|
|
|
|
|
|
- name: Get current installed Docker version
|
|
|
command: "{{ repoquery_cmd }} --installed --qf '%{version}' docker"
|
|
|
- when: docker_version is defined and not openshift.common.is_atomic | bool
|
|
|
+ when: not openshift.common.is_atomic | bool
|
|
|
register: curr_docker_version
|
|
|
changed_when: false
|
|
|
|
|
|
+- name: Error out if Docker pre-installed but too old
|
|
|
+ fail:
|
|
|
+ msg: "Docker {{ curr_docker_version.stdout }} is installed, but >= 1.9.1 is required."
|
|
|
+ when: not curr_docker_version | skipped and curr_docker_version.stdout != '' and curr_docker_version.stdout | version_compare('1.9.1', '<') and not docker_version is defined
|
|
|
+
|
|
|
+- name: Error out if requested Docker is too old
|
|
|
+ fail:
|
|
|
+ msg: "Docker {{ docker_version }} requested, but >= 1.9.1 is required."
|
|
|
+ when: docker_version is defined and docker_version | version_compare('1.9.1', '<')
|
|
|
+
|
|
|
- name: Get latest available version of Docker
|
|
|
command: >
|
|
|
{{ repoquery_cmd }} --qf '%{version}' "docker"
|
|
@@ -21,14 +31,14 @@
|
|
|
- name: Fail if Docker version requested but downgrade is required
|
|
|
fail:
|
|
|
msg: "Docker {{ curr_docker_version.stdout }} is installed, but version {{ docker_version }} was requested."
|
|
|
- when: not curr_docker_version | skipped and curr_docker_version.stdout | default('0.0', True) | version_compare(docker_version, '>')
|
|
|
+ when: not curr_docker_version | skipped and curr_docker_version.stdout != '' and curr_docker_version.stdout | version_compare(docker_version, '>')
|
|
|
|
|
|
# This involves an extremely slow migration process, users should instead run the
|
|
|
# Docker 1.10 upgrade playbook to accomplish this.
|
|
|
- name: Error out if attempting to upgrade Docker across the 1.10 boundary
|
|
|
fail:
|
|
|
msg: "Cannot upgrade Docker to >= 1.10, please use the Docker upgrade playbook for this."
|
|
|
- when: not curr_docker_version | skipped and curr_docker_version.stdout | default('0.0', True) | version_compare('1.10', '<') and docker_version | version_compare('1.10', '>=')
|
|
|
+ when: not curr_docker_version | skipped and curr_docker_version.stdout != '' and curr_docker_version.stdout | version_compare('1.10', '<') and docker_version | version_compare('1.10', '>=')
|
|
|
|
|
|
# Make sure Docker is installed, but does not update a running version.
|
|
|
# Docker upgrades are handled by a separate playbook.
|