summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Dodson <sdodson@redhat.com>2017-11-24 17:02:50 -0500
committerGitHub <noreply@github.com>2017-11-24 17:02:50 -0500
commit0338debbd35254c884487ceb1064b1eabde0149e (patch)
tree1123b1dc344f0342aaafb990ff95d30adb405b0c
parentbd5c01de84be6ccedb7e8b00dddfc6e6e3d0bebf (diff)
parente4db872a66bdb41f6c45b7a3235d09a439c08936 (diff)
downloadopenshift-0338debbd35254c884487ceb1064b1eabde0149e.tar.gz
openshift-0338debbd35254c884487ceb1064b1eabde0149e.tar.bz2
openshift-0338debbd35254c884487ceb1064b1eabde0149e.tar.xz
openshift-0338debbd35254c884487ceb1064b1eabde0149e.zip
Merge pull request #6227 from adelton/issue-5517
Workaround the fact that package state=present with dnf fails for already installed but excluded packages.
-rw-r--r--playbooks/common/openshift-cluster/upgrades/docker/upgrade_check.yml2
-rw-r--r--playbooks/init/facts.yml1
-rw-r--r--roles/docker/tasks/package_docker.yml5
3 files changed, 5 insertions, 3 deletions
diff --git a/playbooks/common/openshift-cluster/upgrades/docker/upgrade_check.yml b/playbooks/common/openshift-cluster/upgrades/docker/upgrade_check.yml
index 52345a9ba..2e3a7ae8b 100644
--- a/playbooks/common/openshift-cluster/upgrades/docker/upgrade_check.yml
+++ b/playbooks/common/openshift-cluster/upgrades/docker/upgrade_check.yml
@@ -16,7 +16,7 @@
changed_when: no
- name: Get current version of Docker
- command: "{{ repoquery_cmd }} --installed --qf '%{version}' docker"
+ command: "{{ repoquery_installed }} --qf '%{version}' docker"
register: curr_docker_version
retries: 4
until: curr_docker_version | succeeded
diff --git a/playbooks/init/facts.yml b/playbooks/init/facts.yml
index 7439313b7..a2fc17b7f 100644
--- a/playbooks/init/facts.yml
+++ b/playbooks/init/facts.yml
@@ -139,6 +139,7 @@
- name: initialize_facts set_fact repoquery command
set_fact:
repoquery_cmd: "{{ 'dnf repoquery --latest-limit 1 -d 0' if ansible_pkg_mgr == 'dnf' else 'repoquery --plugins' }}"
+ repoquery_installed: "{{ 'dnf repoquery --latest-limit 1 -d 0 --disableexcludes=all --installed' if ansible_pkg_mgr == 'dnf' else 'repoquery --plugins --installed' }}"
- name: initialize_facts set_fact on openshift_docker_hosted_registry_network
set_fact:
diff --git a/roles/docker/tasks/package_docker.yml b/roles/docker/tasks/package_docker.yml
index e6c3fe4d7..5437275a2 100644
--- a/roles/docker/tasks/package_docker.yml
+++ b/roles/docker/tasks/package_docker.yml
@@ -1,6 +1,6 @@
---
- name: Get current installed Docker version
- command: "{{ repoquery_cmd }} --installed --qf '%{version}' docker"
+ command: "{{ repoquery_installed }} --qf '%{version}' docker"
when: not openshift.common.is_atomic | bool
register: curr_docker_version
retries: 4
@@ -33,9 +33,10 @@
# Make sure Docker is installed, but does not update a running version.
# Docker upgrades are handled by a separate playbook.
+# Note: The curr_docker_version.stdout check can be removed when https://github.com/ansible/ansible/issues/33187 gets fixed.
- name: Install Docker
package: name=docker{{ '-' + docker_version if docker_version is defined else '' }} state=present
- when: not openshift.common.is_atomic | bool
+ when: not openshift.common.is_atomic | bool and not curr_docker_version | skipped and not curr_docker_version.stdout != ''
- block:
# Extend the default Docker service unit file when using iptables-services