mirror of
https://github.com/samba-team/samba.git
synced 2024-12-25 23:21:54 +03:00
b97625acb6
In the current code services can only be reconfigured asynchronously. This means that configuration file changes can be made, an asychronous reconfigure event can be triggered, and it always succeeds. Some time later when a service is actually reconfigured then a failure may be seen This adds a synthetic reconfigure event that reconfigures a service synchronously so that any failure is reported on exit. ctdb_service_check_reconfigure() is essentially reimplemented. If a reconfigure event is in flight and an ipreallocated or monitor event occurs then any scheduled asynchronous reconfigure is deferred until the next monitor cycle. This is to avoid reconfigures trampling on each other. In this case a monitor event will also replay the previous status to try to avoid exposing any temporary instability. If a reconfigure event collides with another reconfigure event it will exit with status 2, indicating that the reconfigure should be retried. The reconfigure event is implemented using a subprocess to control the exit from the synthetic event. As before, if a monitor event causes a scheduled synchronous reconfigure to occure then it will replay the previous status for the service, given that a reconfigure can cause temporary instability. Signed-off-by: Martin Schwenke <martin@meltin.net> (This used to be ctdb commit 220578bfd3507152b29ba4c28942f9d5e8733886) |
||
---|---|---|
.. | ||
events.d | ||
ctdb-crash-cleanup.sh | ||
ctdb.init | ||
ctdb.sysconfig | ||
functions | ||
gdb_backtrace | ||
interface_modify.sh | ||
notify.sh | ||
README | ||
statd-callout |
This directory contains run-time support scripts for CTDB. Selected highlights: ctdb.init An initscript for starting ctdbd at boot time. events.d/ Eventscripts. See events.d/README for more details. functions Support functions, sourced by eventscripts and other scripts. interface_modify.sh Script to support add/remove IPs and other funky stuff. Not sure why this is separate... but it certainly allows easy wrapping by flock. statd-callout rpc.statd high-availability callout to support lock migration on failover. Notes: * All of these scripts are written in POSIX Bourne shell. Please avoid bash-isms, including the use of "local" variables (which are not available in POSIX shell). * Do not use absolute paths for commands. Unit tests attempt to replace many commands with stubs and can not do this if commands are specified with absolute paths. The functions file controls $PATH so absolute paths should not be required.