Fix the stonith property during upgrades

We currently set the stonith property from all controller nodes during
upgrade. This is racy and can actually end up disabling stonith after
the upgrade even if when it was enabled.

Let's set the property only from the bootstrap node.

Change-Id: Id4afb867b485ac853be874a0179a7ed7cc914068
Closes-Bug: #1635294
This commit is contained in:
Michele Baldessari 2016-10-20 20:16:28 +02:00
parent 81aa47d314
commit 7ce217909a

View File

@ -17,8 +17,10 @@ check_disk_for_mysql_dump
# nodes where a service fails to stop, which could be fatal during an upgrade # nodes where a service fails to stop, which could be fatal during an upgrade
# procedure. So we remember the stonith state. If it was enabled we reenable it # procedure. So we remember the stonith state. If it was enabled we reenable it
# at the end of this script # at the end of this script
STONITH_STATE=$(pcs property show stonith-enabled | grep "stonith-enabled" | awk '{ print $2 }') if [[ -n $(is_bootstrap_node) ]]; then
pcs property set stonith-enabled=false STONITH_STATE=$(pcs property show stonith-enabled | grep "stonith-enabled" | awk '{ print $2 }')
pcs property set stonith-enabled=false
fi
# Migrate to HA NG and fix up rabbitmq queues # Migrate to HA NG and fix up rabbitmq queues
# We fix up the rabbitmq ha queues after the migration because it will # We fix up the rabbitmq ha queues after the migration because it will
@ -170,8 +172,10 @@ if [ $DO_MYSQL_UPGRADE -eq 1 ]; then
fi fi
# Let's reset the stonith back to true if it was true, before starting the cluster # Let's reset the stonith back to true if it was true, before starting the cluster
if [ $STONITH_STATE == "true" ]; then if [[ -n $(is_bootstrap_node) ]]; then
pcs -f /var/lib/pacemaker/cib/cib.xml property set stonith-enabled=true if [ $STONITH_STATE == "true" ]; then
pcs -f /var/lib/pacemaker/cib/cib.xml property set stonith-enabled=true
fi
fi fi
# Pin messages sent to compute nodes to kilo, these will be upgraded later # Pin messages sent to compute nodes to kilo, these will be upgraded later