1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-25 23:21:54 +03:00
samba-mirror/ctdb/config
Martin Schwenke b97625acb6 Eventscripts: add a synchronous synthetic reconfigure event.
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)
2011-08-30 14:29:48 +10:00
..
events.d Eventscripts - call ctdb_check_args() in 00.ctdb 2011-08-30 09:33:47 +10:00
ctdb-crash-cleanup.sh In the example script to remove all ip addresses after a ctdb crash, 2010-04-23 09:08:26 +10:00
ctdb.init When starting and stopping ctdb through the init-script, make sure we first clear all public ips bvefore we start the daemon, in case they are still hanging around since a previous kill -9 and also make sure we drop them after we have stopped the deamon when shutting down 2011-08-11 11:48:04 +10:00
ctdb.sysconfig Eventscripts: New configuration variable CTDB_SERVICE_AUTOSTARTSTOP. 2011-08-30 09:33:47 +10:00
functions Eventscripts: add a synchronous synthetic reconfigure event. 2011-08-30 14:29:48 +10:00
gdb_backtrace lib/util: import fault/backtrace handling from samba. 2010-01-20 09:44:36 +01:00
interface_modify.sh Scripts: remove absolute paths from interface_modify.sh. 2011-08-08 15:50:10 +10:00
notify.sh server: add "setup" event 2010-02-23 10:38:49 +01:00
README Scripts: add note about not using absolute command paths to README. 2011-08-09 16:36:37 +10:00
statd-callout Eventscripts: remove unnecessary absolute paths from external commands. 2011-08-03 17:19:15 +10:00

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.