From 839c0b111651b8f5a1608f179781707b78dbacaa Mon Sep 17 00:00:00 2001 From: marios Date: Thu, 13 Jul 2017 16:11:13 +0300 Subject: Adds check for existing yum process during the legacy minor update Checks for an existing /var/run/yum.pid and exit 1 with an error message saying why. Change-Id: I374eeb4164a8007ae67fea2796eac109fffdef97 Closes-Bug: 1704131 --- extraconfig/tasks/pacemaker_common_functions.sh | 12 ++++++++++++ extraconfig/tasks/yum_update.sh | 4 +++- 2 files changed, 15 insertions(+), 1 deletion(-) (limited to 'extraconfig') diff --git a/extraconfig/tasks/pacemaker_common_functions.sh b/extraconfig/tasks/pacemaker_common_functions.sh index d1dd5d1d..367f50d7 100755 --- a/extraconfig/tasks/pacemaker_common_functions.sh +++ b/extraconfig/tasks/pacemaker_common_functions.sh @@ -371,3 +371,15 @@ function fixup_wrong_ipv6_vip { fi ) } + +# https://bugs.launchpad.net/tripleo/+bug/1704131 guard against yum update +# waiting for an existing process until the heat stack time out +function check_for_yum_lock { + if [[ -f /var/run/yum.pid ]] ; then + ERR="ERROR existing yum.pid detected - can't continue! Please ensure +there is no other package update process for the duration of the minor update +worfklow. Exiting." + echo $ERR + exit 1 + fi +} diff --git a/extraconfig/tasks/yum_update.sh b/extraconfig/tasks/yum_update.sh index 0c4a7928..8f804583 100755 --- a/extraconfig/tasks/yum_update.sh +++ b/extraconfig/tasks/yum_update.sh @@ -93,6 +93,7 @@ if [[ "$pacemaker_status" == "active" ]] ; then fi else echo "Upgrading openstack-puppet-modules and its dependencies" + check_for_yum_lock yum -q -y update openstack-puppet-modules yum deplist openstack-puppet-modules | awk '/dependency/{print $2}' | xargs yum -q -y update echo "Upgrading other packages is handled by config management tooling" @@ -102,8 +103,9 @@ fi command=${command:-update} full_command="yum -q -y $command $command_arguments" -echo "Running: $full_command" +echo "Running: $full_command" +check_for_yum_lock result=$($full_command) return_code=$? echo "$result" -- cgit 1.2.3-korg