[Pacemaker] symmetric anti-collocation

Andrew Beekhof andrew at beekhof.net
Tue Dec 21 07:19:07 EST 2010


On Mon, Dec 20, 2010 at 10:48 PM, Andrew Beekhof <andrew at beekhof.net> wrote:

>
>
> On Mon, Dec 20, 2010 at 10:25 PM, Patrick H. <pacemaker at feystorm.net>wrote:
>
>>  Sent: Sat Nov 13 2010 04:20:56 GMT-0700 (Mountain Standard Time)
>> From: Andrew Beekhof <andrew at beekhof.net> <andrew at beekhof.net>
>> To: The Pacemaker cluster resource manager
>> <pacemaker at oss.clusterlabs.org> <pacemaker at oss.clusterlabs.org>
>> Subject: Re: [Pacemaker] symmetric anti-collocation
>>
>> On Fri, Nov 12, 2010 at 5:27 PM, Alan Jones <falancluster at gmail.com> <falancluster at gmail.com> wrote:
>>
>>
>>  On Thu, Nov 11, 2010 at 11:31 PM, Andrew Beekhof <andrew at beekhof.net> <andrew at beekhof.net> wrote:
>>
>>
>>  colocation X-Y -2: X Y
>> colocation Y-X -2: Y X
>>
>>
>>  the second one is implied by the first and is therefore redundant
>>
>>
>>  If only that were true!
>>
>>
>>  It is. I know exactly how my code works in this regard.
>> More than likely a score of -2 is simply too low to have any effect.
>>
>>
>>  I'm going to have to side with Alan here, his pasted statements are *NOT*
>> redundant and also do *NOT* work. Please be a little more accepting that
>> your code might have problems.
>>
>
> I think the past 7 years have adequately shown that I am under no illusions
> on that score.
>
> However I actually know how colocation is supposed to work, and I'm and
> telling you with 100% certainty that the second one is redundant.  That the
> combination doesn't do what you want is another story.
>
> Unless you use a clone in some manner, there is no way to express:
>
> If nodeA fails, stop rscA
> If nodeB fails, stop rscB
>

"Unless you use scores of -INFINITY"

It is very clearly documented that scores other than +/-INFINITY are _hints_
to the PE and may be ignored.


>
> In order to complete computations before the end of the universe, Pacemaker
> requires you to decide with of rscA and rscB is more important and will
> sacrifice the other.
>
> You can of course argue that this requirement is a crime against humanity,
> but it remains how Pacemaker is currently designed to work.
>
>
>> Exhibit A:
>>   crm(live)# configure show
>> node nas01 \
>>         attributes standby="off"
>> node nas02 \
>>         attributes standby="off"
>> node nas03 \
>>         attributes standby="on"
>> primitive d1 ocf:pacemaker:Dummy
>> primitive d2 ocf:pacemaker:Dummy
>> colocation co1 -inf: d1 d2
>> colocation co2 -inf: d2 d1
>> property $id="cib-bootstrap-options" \
>>         dc-version="1.0.10-da7075976b5ff0bee71074385f8fd02f296ec8a3" \
>>         cluster-infrastructure="openais" \
>>         expected-quorum-votes="3" \
>>         stonith-enabled="false" \
>>         default-resource-stickiness="INFINITY"
>>
>>
>>
>>
>> crm(live)# status
>> ============
>> Last updated: Mon Dec 20 21:03:49 2010
>> Stack: openais
>> Current DC: nas01 - partition with quorum
>> Version: 1.0.10-da7075976b5ff0bee71074385f8fd02f296ec8a3
>> 3 Nodes configured, 3 expected votes
>> 2 Resources configured.
>> ============
>>
>> Node nas03: standby
>> Online: [ nas01 nas02 ]
>>
>>  d1     (ocf::pacemaker:Dummy): Started nas01
>>  d2     (ocf::pacemaker:Dummy): Started nas02
>>
>>
>>
>>
>> crm(live)# node standby nas02
>> crm(live)# status
>> ============
>> Last updated: Mon Dec 20 21:04:14 2010
>> Stack: openais
>> Current DC: nas01 - partition with quorum
>> Version: 1.0.10-da7075976b5ff0bee71074385f8fd02f296ec8a3
>> 3 Nodes configured, 3 expected votes
>> 2 Resources configured.
>> ============
>>
>> Node nas02: standby
>> Node nas03: standby
>> Online: [ nas01 ]
>>
>>  d2     (ocf::pacemaker:Dummy): Started nas01
>>
>> Notice how resource 'd1' got evicted from node 'nas01' and 'd2' replaced
>> it. This would indicate that the 'co2' rule is being completely ignored. In
>> fact if you delete the co2 rule, you get the exact same behavior. If you
>> were to delete the co1 rule, and put 'nas02' in standby, d1 would have
>> stayed running on 'nas01' instead of being replaced. This would indicate
>> that the constraints are NOT redundant and NOT implied by eachother.
>>
>> I'm not trying to be disrespectful or rude, its just that nobody is
>> perfect.
>>
>> _______________________________________________
>> Pacemaker mailing list: Pacemaker at oss.clusterlabs.org
>> http://oss.clusterlabs.org/mailman/listinfo/pacemaker
>>
>> Project Home: http://www.clusterlabs.org
>> Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
>> Bugs:
>> http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.clusterlabs.org/pipermail/pacemaker/attachments/20101221/1dc14bfb/attachment-0001.html>


More information about the Pacemaker mailing list