[Pacemaker] Shouldn't colocation -inf: be mandatory?

Vadym Chepkov vchepkov at gmail.com
Tue Jun 15 15:41:17 EDT 2010


On Jun 15, 2010, at 3:36 PM, Dejan Muhamedagic wrote:

> Hi,
> 
> On Tue, Jun 15, 2010 at 08:45:37AM -0400, Vadym Chepkov wrote:
>> 
>> On Jun 15, 2010, at 6:14 AM, Dejan Muhamedagic wrote:
>> 
>>> Hi,
>>> 
>>> On Tue, Jun 15, 2010 at 10:57:47AM +0200, Andrew Beekhof wrote:
>>>> On Tue, Jun 15, 2010 at 10:23 AM, Andreas Kurz <andreas.kurz at linbit.com> wrote:
>>>>> On Tuesday 15 June 2010 08:40:58 Andrew Beekhof wrote:
>>>>>> On Mon, Jun 14, 2010 at 4:22 PM, Vadym Chepkov <vchepkov at gmail.com> wrote:
>>>>>>> On Jun 7, 2010, at 8:04 AM, Vadym Chepkov wrote:
>>>>>>>> I filed bug 2435, glad to hear "it's not me"
>>>>>>> 
>>>>>>> Andrew closed this bug
>>>>>>> (http://developerbugs.linux-foundation.org/show_bug.cgi?id=2435) as
>>>>>>> resolved, but I respectfully disagree.
>>>>>>> 
>>>>>>> I will try to explain a problem again in this list.
>>>>>>> 
>>>>>>> lets assume you want to have several resources running on the same node.
>>>>>>> They are independent, so if one is going down, others shouldn't be
>>>>>>> stopped. You would do this by using a resource set, like this:
>>>>>>> 
>>>>>>> primitive dummy1 ocf:pacemaker:Dummy
>>>>>>> primitive dummy2 ocf:pacemaker:Dummy
>>>>>>> primitive dummy3 ocf:pacemaker:Dummy
>>>>>>> colocation together inf: ( dummy1 dummy2 dummy3 )
>>>>>>> 
>>>>>>> and I expect them to run on the same host, but they are not and I
>>>>>>> attached hb_report to the case to prove it.
>>>>>>> 
>>>>>>> Andrew closed it with the comment "Thats because you have
>>>>>>> sequential="false" for the colocation set." But sequential="false" means
>>>>>>> doesn't matter what order do they start.
>>>>>> 
>>>>>> No.  Thats not what it means.
>>>>>> And I believe I should know.
>>>>>> 
>>>>>> It means that the members of the set are NOT collocated with each
>>>>>> other, only with any preceding set.
>>>>> 
>>>>> Just for clarification:
>>>>> 
>>>>> colocation together inf: ( dummy1 dummy2 dummy3 ) dummy4
>>>>> 
>>>>> .... is a shortcut for:
>>>>> 
>>>>> colocation together1 inf: dummy4 dummy1
>>>>> colocation together1 inf: dummy4 dummy2
>>>>> colocation together1 inf: dummy4 dummy3
>>>>> 
>>>>> ... is that correct?
>>>> 
>>>> Only if sequential != false.
>>> 
>>> You wanted to say "sequential == false"?
>>> 
>>>> For some reason the shell appears to be setting that by default.
>>> 
>>> This is sequential == false:
>>> 
>>> colocation together inf: ( dummy1 dummy2 dummy3 ) dummy4
>>> 
>>> This is sequential == true:
>>> 
>>> colocation together inf: dummy1 dummy2 dummy3 dummy4
>>> 
>>> Thanks,
>>> 
>>> Dejan
>> 
>> 
>> I guess colocation syntax needs to be expanded to allow something like this
>> 
>> colocation only-one -inf: (dummy1 dummy2 sequential="true")
>> 
>> colocation together 5000: (dummy1 dummy2 sequential="true")
> 
> How's this different from a regular constraint?
> 


Because it does not create a resource set with two resources
and if you put it in parentheses, it creates set with sequential="false"

Vadym
 





More information about the Pacemaker mailing list