Merge "Fix use of batch_create in CephMon major upgrade template"
[apex-tripleo-heat-templates.git] / extraconfig / tasks / pacemaker_resource_restart.sh
index 1637cee..fd1fd0d 100755 (executable)
@@ -7,15 +7,23 @@ 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)" -a \
-     "$(hiera stack_action)" = "UPDATE" ]; then
+     "$(hiera bootstrap_nodeid)" = "$(facter hostname)" ]; then
 
-    PCMK_RESOURCES="haproxy-clone redis-master rabbitmq-clone galera-master openstack-cinder-volume openstack-cinder-backup"
-    # Ten minutes of timeout to restart each resource, given there are no constraints should be enough
     TIMEOUT=600
-    for resource in $PCMK_RESOURCES; do
-      if pcs status | grep $resource; then
-        pcs resource restart --wait=$TIMEOUT $resource
-      fi
+    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