aboutsummaryrefslogtreecommitdiffstats
path: root/extraconfig/tasks/pacemaker_common_functions.sh
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-12-21 10:28:54 +0000
committerGerrit Code Review <review@openstack.org>2016-12-21 10:28:54 +0000
commit6ec44d98b4a9aee3b469f31d08dd293bcff6db0e (patch)
tree33d8191e2be2b1cbd46d168ca0e3af1819a39d8d /extraconfig/tasks/pacemaker_common_functions.sh
parentaed9e1b9c14058efc5fbdd41025fd688039ecf3b (diff)
parentafcb6e01f3af573a7bdd286a65b71eee48cec204 (diff)
Merge "Make the openvswitch 2.4->2.5 upgrade more robust"
Diffstat (limited to 'extraconfig/tasks/pacemaker_common_functions.sh')
-rwxr-xr-xextraconfig/tasks/pacemaker_common_functions.sh24
1 files changed, 24 insertions, 0 deletions
diff --git a/extraconfig/tasks/pacemaker_common_functions.sh b/extraconfig/tasks/pacemaker_common_functions.sh
index 2c7dfc35..aae4a2de 100755
--- a/extraconfig/tasks/pacemaker_common_functions.sh
+++ b/extraconfig/tasks/pacemaker_common_functions.sh
@@ -297,3 +297,27 @@ function systemctl_swift {
manage_systemd_service $action $service
done
}
+
+# Special-case OVS for https://bugs.launchpad.net/tripleo/+bug/1635205
+function special_case_ovs_upgrade_if_needed {
+ if [[ -n $(rpm -q --scripts openvswitch | awk '/postuninstall/,/*/' | grep "systemctl.*try-restart") ]]; then
+ echo "Manual upgrade of openvswitch - restart in postun detected"
+ rm -rf OVS_UPGRADE
+ mkdir OVS_UPGRADE && pushd OVS_UPGRADE
+ echo "Attempting to downloading latest openvswitch with yumdownloader"
+ yumdownloader --resolve openvswitch
+ for pkg in $(ls -1 *.rpm); do
+ if rpm -U --test $pkg 2>&1 | grep "already installed" ; then
+ echo "Looks like newer version of $pkg is already installed, skipping"
+ else
+ echo "Updating $pkg with nopostun option"
+ rpm -U --replacepkgs --nopostun $pkg
+ fi
+ done
+ popd
+ else
+ echo "Skipping manual upgrade of openvswitch - no restart in postun detected"
+ fi
+
+}
+