[ClusterLabs] Order constraint with a timeout?

Andrei Borzenkov arvidjaar at gmail.com
Tue Mar 29 09:57:27 EDT 2022


On 29.03.2022 15:38, john tillman wrote:
>> On 29.03.2022 00:26, john tillman wrote:
>>>> On Mon, 2022-03-28 at 14:03 -0400, john tillman wrote:
>>>>> Greetings all,
>>>>>
>>>>> Is it possible to have an order constraint with a timeout?  I can't
>>>>> find
>>>>> one but perhaps I am using the wrong keywords in google.
>>>>>
>>>>> I have several Filesystem resource and one nfs service resource.  If
>>>>> I
>>>>> create 3 order constraints:
>>>>>    pcs constraint order start fsRsc1 then start myNfsServiceRsc
>>>>>    pcs constraint order start fsRsc2 then start myNfsServiceRsc
>>>>>    pcs constraint order start fsRsc3 then start myNfsServiceRsc
>>>>>
>>>>> I would like to make sure that the nfs service will be started even
>>>>> if one
>>>>> of the Filesystem resources fails to start.  Is there a timeout that
>>>>> could
>>>>> be used?
...
>>
>> What exactly "failed to start after "X"" means? Start operation is still
>> running after "X" seconds? Then simply set timeout of start to "X".
>> Start operation failed before "X" seconds? Then what is the point to
>> wait additional time, how do you expect resource to become active if
>> start operation already failed?
>>
> 
> 
> 
> Andrei,
> 
> My understanding is that if one of the three Filesystem resources fails to
> start then the nfsservice would fail to start, even if the other
> Filesystem resources started successfully.  Am I wrong?
> 

That depends on your configuration.

> I suggested a timeout because I could not think of another cluster
> mechanism that fit.  But I see your point.  The result is known and there
> is no need to wait.  So a timeout is not what I need.
> 
> What can I use to start the nfs service only after all the Filesystem
> resources have been given the chance to start?
> 

Resource set with both sequential and require-all false.

primitive A1 ocf:_local:Dummy \

	op monitor interval=10

primitive A2 ocf:_local:Dummy \

	params delay=55 \

	op start timeout=60 interval=0 \

	op monitor interval=10

primitive B ocf:_local:Dummy \

	op monitor interval=10

order set_delay Mandatory: [ A1 A2 ] B



B will be started after start requests for both A1 and A2 completed and
at least one of A1 or A2 successfully. If start of both A1 and A2
failed, B will not be started.


More information about the Users mailing list