[Pacemaker] Odd cluster constraint behaviour
Oliver Hookins
oliver.hookins at anchor.com.au
Mon Jul 6 05:33:13 UTC 2009
I'm not sure if I've configured things correctly, as the last time I did
this was on Heartbeat 2.0.7 or so. It's either that as a bug (and it's far
more likely I've stuffed something up):
* there are two resource groups, one with higher priority (master) and one with
lower priority (slave) - note that I'm not actually configuring them as master/slave resources
* two nodes in the cluster (A and B)
* they are constrained to run:
- only if a pingd instance is successfully running
- colocated with -INFINITY to each other (i.e. cannot run together)
- in the order of the "master" resource group and then the "slave" resource group
- preferring resource group "master" running on node A
With the cluster in its default running state of "master" on A, and "slave" on B,
everything seems fine. When I "fail" node A, "slave" stops on node B but then no
resources are started on node B. It's clearly a conflict of constraints, or
the resource group priorities being ignored but I can pick it.
Here are (hopefully) the relevant snippets of CIB:
<resources>
<group id="master">
<meta_attributes id="master-meta_attributes">
<nvpair id="master-meta_attributes-priority" name="priority" value="1000"/>
</meta_attributes>
<group id="slave">
<meta_attributes id="slave-meta_attributes">
<nvpair id="slave-meta_attributes-priority" name="priority" value="0"/>
</meta_attributes>
<clone id="pingdclone">
<meta_attributes id="pingdclone-meta_attributes">
<nvpair id="pingdclone-meta_attributes-globally-unique" name="globally-unique" value="false"/>
</meta_attributes>
<primitive class="ocf" id="pingd" provider="pacemaker" type="pingd">
<instance_attributes id="pingd-instance_attributes">
<nvpair id="pingd-instance_attributes-host_list" name="host_list" value="X.X.X.X"/>
<nvpair id="pingd-instance_attributes-multiplier" name="multiplier" value="100"/>
</instance_attributes>
<operations>
<op id="pingd-monitor-15s" interval="15s" name="monitor" timeout="5s"/>
</operations>
</primitive>
</clone>
</resources>
<constraints>
<rsc_location id="cli-prefer-master0" node="nodeA" rsc="master" score="1000"/>
<rsc_location id="cli-prefer-master1" node="nodeB" rsc="master" score="0"/>
<rsc_colocation id="separate_master_and_slave" rsc="master" score="-INFINITY" with-rsc="slave"/>
</constraints>
Any help would be appreciated.
--
Regards,
Oliver Hookins
Anchor Systems
More information about the Pacemaker
mailing list