set -eux
pacemaker_status=$(systemctl is-active pacemaker)
-check_interval=3
-
-function check_resource {
-
- if [ "$#" -ne 3 ]; then
- echo "ERROR: check_resource function expects 3 parameters, $# given" | tee /dev/fd/2
- exit 1
- fi
-
- service=$1
- state=$2
- timeout=$3
-
- if [ "$state" = "stopped" ]; then
- match_for_incomplete='Started'
- else # started
- match_for_incomplete='Stopped'
- fi
-
- if timeout -k 10 $timeout crm_resource --wait; then
- node_states=$(pcs status --full | grep "$service" | grep -v Clone)
- if echo "$node_states" | grep -q "$match_for_incomplete"; then
- echo "ERROR: cluster settled but $service was not in $state state, exiting." | tee /dev/fd/2
- exit 1
- else
- echo "$service has $state"
- fi
- else
- echo "ERROR: cluster remained unstable for more than $timeout seconds, exiting." | tee /dev/fd/2
- exit 1
- fi
-
-}
# Run if pacemaker is running, we're the bootstrap node,
# and we're updating the deployment (not creating).