<div dir="ltr">Hi all,<div><br></div><div>We have a use case where we want to place a node into standby and then wait for all the resources to move off the node (and be started on other nodes) before continuing.  </div><div><br></div><div>In order to do this we call:</div><div>$ pcs cluster standby brilxvm45</div><div>$ crm_resource --wait --timeout 300</div><div><br></div><div>This works most of the time, but in one of our test environments we are hitting a problem:</div><div><br></div><div>When we put the node in standby, the reported cluster transition is:</div><div><br></div><div>$  /usr/sbin/crm_simulate -x pe-input-3595.bz2 -S</div><div><br></div><div>Using the original execution date of: 2017-10-08 <b>16:58:05Z</b><br></div><div>...</div><div><div>Transition Summary:</div><div> * Restart sv_fencer    (Started brilxvm43)</div><div> * Stop    sv.svtest.aa.sv.monitor:1    (brilxvm45)</div><div> * Move    sv.svtest.aa.26.partition    (Started brilxvm45 -> brilxvm43)</div><div> * Move    sv.svtest.aa.27.partition    (Started brilxvm45 -> brilxvm44)</div><div> * Move    sv.svtest.aa.28.partition    (Started brilxvm45 -> brilxvm43)</div></div><div><br></div><div>We expect crm_resource --wait to return once sv_fencer (a fencing device) has been restarted (not sure why it's being restarted), and the 3 partition resources have been moved.</div><div><br></div><div>But crm_resource actually times out after 300 seconds with the following error:</div><div><br></div><div><span style="color:rgb(51,51,51);font-family:sans-serif;font-size:14px;background-color:rgb(245,245,245)">Pending actions:</span><br style="color:rgb(51,51,51);font-family:sans-serif;font-size:14px;background-color:rgb(245,245,245)"><span style="color:rgb(51,51,51);font-family:sans-serif;font-size:14px;background-color:rgb(245,245,245)">Action 40: sv_fencer_monitor_60000 on brilxvm44</span><br style="color:rgb(51,51,51);font-family:sans-serif;font-size:14px;background-color:rgb(245,245,245)"><span style="color:rgb(51,51,51);font-family:sans-serif;font-size:14px;background-color:rgb(245,245,245)">Action 39: sv_fencer_start_0 on brilxvm44</span><br style="color:rgb(51,51,51);font-family:sans-serif;font-size:14px;background-color:rgb(245,245,245)"><span style="color:rgb(51,51,51);font-family:sans-serif;font-size:14px;background-color:rgb(245,245,245)">Action 38: sv_fencer_stop_0 on brilxvm43</span><br style="color:rgb(51,51,51);font-family:sans-serif;font-size:14px;background-color:rgb(245,245,245)"><span style="color:rgb(51,51,51);font-family:sans-serif;font-size:14px;background-color:rgb(245,245,245)">Error performing operation: Timer expired</span><br></div><div><span style="color:rgb(51,51,51);font-family:sans-serif;font-size:14px;background-color:rgb(245,245,245)"><br></span></div><div><font color="#333333" face="sans-serif"><span style="font-size:14px;background-color:rgb(245,245,245)">It looks like it's waiting for the sv_fencer fencing agent to start on brilxvm44, even though the current transition did not include that move.  </span></font></div><div><font color="#333333" face="sans-serif"><span style="font-size:14px;background-color:rgb(245,245,245)"><br></span></font></div><div><font color="#333333" face="sans-serif"><span style="font-size:14px;background-color:rgb(245,245,245)"><br></span></font></div><div><font color="#333333" face="sans-serif"><span style="font-size:14px;background-color:rgb(245,245,245)">After the crm_resource --wait has timed out, we set a property on a different node (brilxvm43).  This seems to trigger a new transition to move sv_fencer to brilxvm44:</span></font></div><div><font color="#333333" face="sans-serif"><span style="font-size:14px;background-color:rgb(245,245,245)"><br></span></font></div><div>$  /usr/sbin/crm_simulate -x pe-input-3596.bz2 -S<font color="#333333" face="sans-serif"><span style="font-size:14px;background-color:rgb(245,245,245)"><br></span></font></div><div><font color="#333333" face="sans-serif"><span style="background-color:rgb(245,245,245)"><span style="font-size:14px">Using the original execution date of: 2017-10-08 <b>17:03:27Z</b></span><br></span></font></div><div><font color="#333333" face="sans-serif"><span style="background-color:rgb(245,245,245)"><span style="font-size:14px"><br></span></span></font></div><div><span style="background-color:rgb(245,245,245);font-size:14px"><font color="#333333" face="sans-serif"><div>Transition Summary:</div><div> * Move    sv_fencer    (Started brilxvm43 -> brilxvm44)</div><div><br></div><div>And from the corosync.log it looks like this transition triggers actions 38 - 40 (the ones crm_resource --wait waited for).</div><div><br></div><div>So it looks like the crm_resource --wait knows about the transition to move the sv_fencer resource, but the subsequent setting of the node property is the one that actually triggers it  (which is too late as it gets executed after the wait).</div><div><br></div><div>I have attached the DC's corosync.log for the applicable time period (timezone is UTC+10).  (The last few lines in the corosync - the interruption of transition 141 - is because of a subsequent standby being done for brilxvm43).</div><div><br></div><div>A possible workaround I thought of was to make the sv_fencer resource slightly sticky (all the other resources are), but I'm not sure if this will just hide the problem for this specific scenario.</div><div><br></div><div>We are using Pacemaker 1.1.15 on RedHat 6.9.</div><div><br></div><div>Regards,</div><div>Leon</div><div><br></div><div><br></div><div><br></div></font></span></div></div>