<p dir="ltr"><br>
Le 10 avr. 2014 15:44, "Christian Ciach" <<a href="mailto:dereineda@gmail.com">dereineda@gmail.com</a>> a écrit :<br>
><br>
> I don't really like the idea to periodically poll "crm_node -q" for the current quorum state. No matter how frequently the monitor-function gets called, there will always be a small time frame where both nodes will be in the master state at the same time. <br>

><br>
> Is there a way to get a notification to the OCF-agent whenever the quorum state changes?</p>
<p dir="ltr">You should probably look for something like this in the ocfshellfunction.sh file.</p>
<p dir="ltr">But also take a look at the page below, it has a lot of multi state dedicated variables that are most definitely useful in your case.</p>
<p dir="ltr"><a href="http://clusterlabs.org/doc/en-US/Pacemaker/1.1/html/Pacemaker_Explained/_multi_state_proper_interpretation_of_notification_environment_variables.html">http://clusterlabs.org/doc/en-US/Pacemaker/1.1/html/Pacemaker_Explained/_multi_state_proper_interpretation_of_notification_environment_variables.html</a></p>

<p dir="ltr">><br>
><br>
> 2014-04-08 10:14 GMT+02:00 Christian Ciach <<a href="mailto:dereineda@gmail.com">dereineda@gmail.com</a>>:<br>
><br>
>> Interesting idea! I can confirm that this works. So, I need to monitor the output of "crm_node -q" to check if the current partition has quorum. If the partition doesn't have quorum, I need to set the location constraint according to your example. If the partition gets quorum again, I need to remove the constraint.<br>

>><br>
>> This seems almost a bit hacky, but it should work okay. Thank you! It almost a shame that pacemaker doesn't have "demote" as a "no-quorum-policy", but supports "demote" as a "loss-policy" for tickets.<br>

>><br>
>> Yesterday I had another idea: Maybe I won't use a multistate resource agent but a primitive instead. This way, I will start the resource outside of pacemaker and let the start-action of the OCF-agent set the resource to master and the stop-action sets it to slave. Then I will just use "no-quorum-policy=stop". The downside of this is that I cannot distinguish between a stopped resource and a resource in a slave state using crm_mon.<br>

><br>
><br>
><br>
> _______________________________________________<br>
> Pacemaker mailing list: <a href="mailto:Pacemaker@oss.clusterlabs.org">Pacemaker@oss.clusterlabs.org</a><br>
> <a href="http://oss.clusterlabs.org/mailman/listinfo/pacemaker">http://oss.clusterlabs.org/mailman/listinfo/pacemaker</a><br>
><br>
> Project Home: <a href="http://www.clusterlabs.org">http://www.clusterlabs.org</a><br>
> Getting started: <a href="http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf">http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf</a><br>
> Bugs: <a href="http://bugs.clusterlabs.org">http://bugs.clusterlabs.org</a><br>
><br>
</p>