[Pacemaker] resources not migrating when some are not runnable on one node, maybe because of groups or master/slave clones?
Phil Frost
phil at macprofessionals.com
Mon Jun 18 16:33:06 CEST 2012
On 06/18/2012 10:14 AM, Vladislav Bogdanov wrote:
> Sets (constraints with more then two members) are evaluated in the
> different order.
> Try
> colocation colo_drbd_master inf: ( drbd_nfsexports_ms:Master ) (
> vg_nfsexports ) ( test )
I'm sure that's the wrong order. I've put the parens on each resource to
force crm to create three sets of one resource each. Otherwise, it would
make two sets, one with DRBD, and one with vg_nfsexports and test. To
maintain the correct order (that is, vg_nfsexports requires the DRBD
master, and test requires vg_nfsexports), I'd have to write this:
colocation colo_drbd_master inf: vg_nfsexports test
drbd_nfsexports_ms:Master [1]
As you've proposed, if "test" can't run, then nothing can. If
"vg_nfsexports" can't run, then test can run but drbd_nfsexports_ms can
not. If drbd_nfsexports_ms can not run, then vg_nfsexports and test are
not affected. That's the opposite of what I think makes sense. I only
know this because I hashed exactly this out just last week. The
documentation is wrong, and crm's syntax is arcane and misleading. See
here: http://oss.clusterlabs.org/pipermail/pacemaker/2012-June/014420.html
Even so, I think in a situation where some node could run all the
resources, the intended behavior is that Pacemaker will use that
resource placement, regardless of the ordering of the colocation
constraint. The ordering only should come in to play when there's no
node that can run all the resources, or when there are multiple
solutions that run all resources and it must decide which is "best". I
think. If I'm wrong on that point please correct me.
[1] yes, really.
More information about the Pacemaker
mailing list