HomeClusterLabs Projects

init: Enable StopWhenUnneeded

Description

init: Enable StopWhenUnneeded

It shall be a rule of thumb not to combine "application stack"
components run under particular init/supervision mechanism and
run by whatever other means (without transitive relationships
like when corosync's client runs from other pacemaker that is
itself started through systemd) when there's a directed graph
of reliance between them (sans constrained corner cases like
when of such components is a kernel module).

And corosync on its own is just a service provider that only
appears useful when utilized as a basic building block for
application specific distributed environments.

Therefore, we may assume whenever corosync gets started by the
means of systemd, it's because of a mechanized attempt to satisfy
declared dependency of some such corosync's client that is about
to be started under the service manager realms (directly or, by
induction, through the same triggering mechanism indirectly).
Hence, when there's no such client around anymore (unless
this dependant is being restarted at the moment, see below)
corosync shall rather shutdown as well.

In the past, there was an issue with systemd regarding said
inflicted restart of the dependant/client, but that's resolved
as of v236:
https://github.com/systemd/systemd/commit/
deb4e7080db9dcd2a1d51ccf7c357f88ea863e54

Signed-off-by: Jan Pokorný <jpokorny@redhat.com>
Reviewed-by: Jan Friesse <jfriesse@redhat.com>

Details

Provenance
Jan Pokorný <jpokorny@redhat.com>Authored on Dec 14 2018, 3:07 PM
jfriesseCommitted on Jan 11 2019, 3:49 AM
Parents
rC2ab4d4188670: totemip: Use AF_UNSPEC for ipv4-6 and ipv6-4
Branches
Unknown
Tags
Unknown
References
tag: v3.0.1

Event Timeline