[Pacemaker] Odd cluster constraint behaviour
Dejan Muhamedagic
dejanmm at fastmail.fm
Tue Jul 7 16:01:48 UTC 2009
Hi,
On Tue, Jul 07, 2009 at 09:08:19AM +1000, Oliver Hookins wrote:
> On Mon Jul 06, 2009 at 11:11:14 +0200, Dejan Muhamedagic wrote:
> >Hi,
> >
> >On Mon, Jul 06, 2009 at 03:33:13PM +1000, Oliver Hookins wrote:
> >> 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"/>
> >
> >This colocation should be the other way around, i.e. exchange rsc
> >and with-rsc attributes. If that doesn't help, please post the
> >logs.
>
> Yes, that fixed the problem. Can you point me in the direction of the
> documentation that explains why this is the case? I've been reading Andrew's
> "Configuration Explained 1.0" document but didn't pick up on this.
That's where all the information should be. At the bottom of page
23 there's a table titled "Options":
rsc The colocation source. If the constraint cannot be satisfied,
the cluster may decide not to allow the resource to run at all.
Thanks,
Dejan
> --
> Regards,
> Oliver Hookins
> Anchor Systems
>
> _______________________________________________
> Pacemaker mailing list
> Pacemaker at oss.clusterlabs.org
> http://oss.clusterlabs.org/mailman/listinfo/pacemaker
More information about the Pacemaker
mailing list