Merge "Split pacemaker common check_service function out of _restart.sh"

This commit is contained in:
Jenkins 2016-02-16 11:23:34 +00:00 committed by Gerrit Code Review
commit b90fae7964
3 changed files with 44 additions and 34 deletions

View File

@ -0,0 +1,39 @@
#!/bin/bash
set -eu
function check_resource {
if [ "$#" -ne 3 ]; then
echo_error "ERROR: check_resource function expects 3 parameters, $# given"
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 "ERROR: cluster finished transition but $service was not in $state state, exiting."
exit 1
else
echo "$service has $state"
fi
else
echo_error "ERROR: cluster remained unstable for more than $timeout seconds, exiting."
exit 1
fi
}
function echo_error {
echo "$@" | tee /dev/fd2
}

View File

@ -3,39 +3,6 @@
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).

View File

@ -33,7 +33,11 @@ resources:
type: OS::Heat::SoftwareConfig
properties:
group: script
config: {get_file: pacemaker_resource_restart.sh}
config:
list_join:
- ''
- - get_file: pacemaker_common_functions.sh
- get_file: pacemaker_resource_restart.sh
ControllerPostPuppetRestartDeployment:
type: OS::Heat::SoftwareDeployments