1590edbeca
With new pacemaker architecture, Puppet handles restarts of most of the services. There are several still managed by pacemaker which need special restart handling utilizing pacemaker and its resource agents. The counterpart in puppet-tripleo requests restarts for individual pacemaker-managed services by writing out "restart flag" files, and the pacemaker_resource_restart.sh script then performs the restarts. Change-Id: Ia4e6a9f88181f1981993f046cf415dbbcdc9570e Closes-Bug: #1614967 Closes-Bug: #1587015 Depends-On: I6369ab0c82dbf3c8f21043f8aa9ab810744ddc12
30 lines
855 B
Bash
Executable File
30 lines
855 B
Bash
Executable File
#!/bin/bash
|
|
|
|
set -eux
|
|
|
|
pacemaker_status=$(systemctl is-active pacemaker)
|
|
|
|
# Run if pacemaker is running, we're the bootstrap node,
|
|
# and we're updating the deployment (not creating).
|
|
if [ "$pacemaker_status" = "active" -a \
|
|
"$(hiera bootstrap_nodeid)" = "$(facter hostname)" ]; then
|
|
|
|
TIMEOUT=600
|
|
SERVICES_TO_RESTART="$(ls /var/lib/tripleo/pacemaker-restarts)"
|
|
PCS_STATUS_OUTPUT="$(pcs status)"
|
|
|
|
for service in $SERVICES_TO_RESTART; do
|
|
if ! echo "$PCS_STATUS_OUTPUT" | grep $service; then
|
|
echo "Service $service not found as a pacemaker resource, cannot restart it."
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
for service in $SERVICES_TO_RESTART; do
|
|
echo "Restarting $service..."
|
|
pcs resource restart --wait=$TIMEOUT $service
|
|
rm -f /var/lib/tripleo/pacemaker-restarts/$service
|
|
done
|
|
|
|
fi
|