summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDevan Goodwin <dgoodwin@redhat.com>2017-03-22 13:21:44 -0300
committerDevan Goodwin <dgoodwin@redhat.com>2017-03-27 09:06:06 -0300
commitf2b00d09fcea325a6685e5490b86878882d9134f (patch)
treef01120dfa37ba8e9d4fbb7f6e3d025dc239ca5b5
parent69612f3beadf349cad7ffb5c3e59062e44bc1ded (diff)
downloadopenshift-f2b00d09fcea325a6685e5490b86878882d9134f.tar.gz
openshift-f2b00d09fcea325a6685e5490b86878882d9134f.tar.bz2
openshift-f2b00d09fcea325a6685e5490b86878882d9134f.tar.xz
openshift-f2b00d09fcea325a6685e5490b86878882d9134f.zip
Upgrade specific rpms instead of just master/node.
Dependencies for these, particularly the SDN package, can cause the entire transaction to jump to a newer openshift than we requested, if something newer is available in the repositories. By being specific for multiple packages, we avoid this problem and get the actual version we require.
-rw-r--r--playbooks/common/openshift-cluster/upgrades/rpm_upgrade.yml23
1 files changed, 21 insertions, 2 deletions
diff --git a/playbooks/common/openshift-cluster/upgrades/rpm_upgrade.yml b/playbooks/common/openshift-cluster/upgrades/rpm_upgrade.yml
index df2b664d4..03ac02e9f 100644
--- a/playbooks/common/openshift-cluster/upgrades/rpm_upgrade.yml
+++ b/playbooks/common/openshift-cluster/upgrades/rpm_upgrade.yml
@@ -1,7 +1,26 @@
---
# We verified latest rpm available is suitable, so just yum update.
-- name: Upgrade packages
- package: "name={{ openshift.common.service_type }}-{{ component }}{{ openshift_pkg_version }} state=present"
+
+# Master package upgrade ends up depending on node and sdn packages, we need to be explicit
+# with all versions to avoid yum from accidentally jumping to something newer than intended:
+- name: Upgrade master packages
+ package: name={{ item }} state=present
+ when: component == "master"
+ with_items:
+ - "{{ openshift.common.service_type }}{{ openshift_pkg_version }}"
+ - "{{ openshift.common.service_type }}-master{{ openshift_pkg_version }}"
+ - "{{ openshift.common.service_type }}-node{{ openshift_pkg_version }}"
+ - "{{ openshift.common.service_type }}-sdn-ovs{{ openshift_pkg_version }}"
+ - "{{ openshift.common.service_type }}-clients{{ openshift_pkg_version }}"
+
+- name: Upgrade node packages
+ package: name={{ item }} state=present
+ when: component == "node"
+ with_items:
+ - "{{ openshift.common.service_type }}{{ openshift_pkg_version }}"
+ - "{{ openshift.common.service_type }}-node{{ openshift_pkg_version }}"
+ - "{{ openshift.common.service_type }}-sdn-ovs{{ openshift_pkg_version }}"
+ - "{{ openshift.common.service_type }}-clients{{ openshift_pkg_version }}"
- name: Ensure python-yaml present for config upgrade
package: name=PyYAML state=present