[PATCH] CTDB - add new event daemon

Amitay Isaacs amitay at gmail.com
Thu Jul 5 02:01:22 UTC 2018


Hi,

Martin and I have been preparing for this for a long time.  This is
the starting point for restructure of ctdb daemon by splitting various
daemons.  The first one is event daemon.  This replaces the current
event daemon.  There are a couple of significant changes to the new
event daemon design.

* Support multiple components

Many of the new daemons will need to run events.  Instead of adding
code to run events in every daemon, we now have a single event daemon
that will run events for all daemons.  Currently it runs events only
in "legacy" component.  The other main advantage of new eventd will be
to avoid running the rest of the daemons as root.  Only event daemon
needs to run as root since it should be able to start/stop services,
modify network configuration etc.

* A template for writing daemons and client tools

Most of the daemons/client tools will have a standard pattern and
event daemon code tries to establish that pattern.  This makes writing
new daemons and client tools easy and less error-prone. Each daemon
will be added in it's own separate directory to improve
maintainability.

Since the patch set is large, it's not attached.  The patches are in
my ctdb-eventd branch.

  https://git.samba.org/?p=amitay/samba.git;a=shortlog;h=refs/heads/ctdb-eventd

The first few patches introduce the new eventd (protocol, daemon,
client library, tool and tests).  The next step is to replace the
existing eventd code.  The patches that start integrating new eventd,
break the CTDB daemon operation.  It's possible to completely switch
over from old eventd to new eventd in a single patch, but that patch
will be too large and difficult to comprehend.  Instead, new eventd is
introduced step-by-step to keep patches simple but at the cost of
broken ctdb daemon till the integration is complete.

Please review and push.

Amitay.



More information about the samba-technical mailing list