[ClusterLabs Developers] RA as a systemd wrapper -- the right way?

Ken Gaillot kgaillot at redhat.com
Mon Sep 26 19:23:35 CEST 2016


On 09/26/2016 12:03 PM, Jan Pokorný wrote:
> On 26/09/16 11:39 -0500, Ken Gaillot wrote:
>> On 09/26/2016 09:10 AM, Adam Spiers wrote:
>>> Now, here I *do* see a potential problem.  If service B is managed by
>>> Pacemaker, is configured with Requires=A and After=A, but service A is
>>> *not* managed by Pacemaker, we would need to ensure that on system
>>> shutdown, systemd would shutdown Pacemaker (and hence B) *before* it
>>> (systemd) shuts down A, otherwise A could be stopped before B,
>>> effectively pulling the rug from underneath B's feet.
>>>
>>> But isn't that an issue even if Pacemaker only uses systemd resources?
>>> I don't see how the currently used override files protect against this
>>> issue.  Have I just "discovered" a bug, or more likely, is there again
>>> a gap in my understanding?
>>
>> Systemd handles the dependencies properly here:
>>
>> - A must be stopped after B (B's After=A)
>> - B must be stopped after pacemaker (B's Before=pacemaker via override)
>> - therefore, stop pacemaker, then A (which will be a no-op because
>>   pacemaker will already have stopped it), then B
> 
> without reading too much about systemd behavior here, shouldn't this be:
> 
> - therefore, stop pacemaker, then B (which will be a no-op because
>   pacemaker will already have stopped it), then A
> 
> (i.e., A and B swapped)?

Whoops, yes, that's what I meant




More information about the Developers mailing list