[PATCH] Fix incompatibility between CTDB NFS RPC service restoration and systemd (bug 13860)

Martin Schwenke martin at meltin.net
Fri Mar 29 03:00:41 UTC 2019


When CTDB detects that NFS RPC services have failed it attempts to
restart them.  For a subset of services that generally have not had
their own initscript, CTDB constructs a command-line by hand and starts
the RPC service directly.

Now that we're testing CTDB on a platform with systemd, we have noticed
that this plays very badly with systemd and probably any other init
system that provides fine-grained control over all of the RPC services,
tracking them with PID files, stopping and starting them carefully.
For example, let's say that CTDB hand-restarts rpc.statd after a
failure.  Later, when systemd tries to restart rpc.statd it will be
unable to do some because it is already running.

So, instead of restarting RPC services manually, do all service
stops/starts via the NFS call-out.  When systemd is in use those
restarts are done via systemd.  The default for the call-out is now to
use systemd, but it can be made to use Sys-V init services via a single
line change.

A couple of related buglets are also fixed.

Please review and maybe push...

peace & happiness,
martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ctdb.patch
Type: text/x-patch
Size: 26028 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20190329/6e0e6e4e/ctdb.bin>


More information about the samba-technical mailing list