<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Hi all,<br>I'm trying to create a script as per subject (on CentOS 6.5, CMAN+Pacemaker, only DRBD+KVM active/passive resources; SNMP-UPS monitored by NUT).<br><br>Ideally I think that each node should stop (disable) all locally-running VirtualDomain resources (doing so cleanly demotes than downs the DRBD resources underneath), then put itself in standby and finally shutdown.<br><br>On further startup, manual intervention would be required to unstandby all nodes and enable resources (nodes already in standby and resources already disabled before blackout should be manually distinguished).<br><br>Is this strategy conceptually safe?<br><br>Unfortunately, various searches have turned out no "prior art" :)<br><br>This is my tentative script (consider it in the public domain):<br><br>------------------------------------------------------------------------------------------------------------------------------------<br>#!/bin/bash<br><br># Note: "pcs cluster status" still has a small bug vs. CMAN-controlled Corosync and would always return != 0<br>pcs status > /dev/null 2>&1<br>STATUS=$?<br><br># Detect if cluster is running at all on local node<br># TODO: detect node already in standby and bypass this<br>if [ "${STATUS}" = 0 ]; then<br>    local_node="$(cman_tool status | grep -i 'Node[[:space:]]*name:' | sed -e 's/^.*Node\s*name:\s*\([^[:space:]]*\).*$/\1/i')"<br>    for local_resource in $(pcs status 2>/dev/null | grep "ocf::heartbeat:VirtualDomain.*${local_node}\\s*\$" | awk '{print $1}'); do<br>        pcs resource disable "${local_resource}"<br>    done<br>    # TODO: each resource disabling above may return without waiting for complete stop - wait here for "no more resources active"? (but avoid endless loops)<br>    pcs cluster standby "${local_node}"<br>fi<br><br># Shut down gracefully anyway at the end<br>/sbin/shutdown -h +0<br><br>------------------------------------------------------------------------------------------------------------------------------------<br><br>Comments/suggestions/improvements are more than welcome.<br><br>Many thanks in advance.<br><br>Regards,<br>Giuseppe<br><br>                                      </div></body>
</html>