1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-13 13:18:06 +03:00
samba-mirror/ctdb/config
Martin Schwenke fdccaab2a9 ctdb/eventscripts: Do not reconfigure in "monitor" events
"monitor" events can be cancelled.  If a reconfigure action does a
service restart then the "monitor" event can be cancelled at the
inconvenient moment after the service is stopped.  In this case the
service stays down and the node may become unhealthy (depending on
whether there are any repair actions in the monitor event).

A long time ago we did service reconfiguration in "monitor" events
following failovers.  Service reconfiguration was then moved to the
"ipreallocated" event.  However, reconfiguration in "monitor" events
has been kept as a last resort in case an "ipreallocate" event does
not occur.  The only important case that this covers is "ctdb
deleteip", where "releaseip" events are generated without a
corresponding "ipreallocated".  Therefore, IPs can be deleted without
running the required service reconfiguration.

The supported way of removing IP addresses is now via "ctdb
reloadips", which always causes a takeover run with a corresponding
"ipreallocate" event.

This means that service reconfiguration in "monitor" events is no
longer required and should be removed because it is unsafe.

Also update the associated tests.  Make the first confirm that the
monitor event no longer does reconfiguration.  Change the others to
test that monitor status is correctly replayed when something else is
doing a reconfigure and currently holds the reconfigure lock.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>

Autobuild-User(master): Amitay Isaacs <amitay@samba.org>
Autobuild-Date(master): Tue Dec 17 06:32:35 CET 2013 on sn-devel-104
2013-12-17 06:32:35 +01:00
..
events.d ctdb-scripts: Replace hard-coded /var/ctdb with CTDB_VARDIR 2013-11-27 18:46:17 +01:00
nfs-rpc-checks.d eventscripts: Become unhealthy faster on nfsd failure 2013-08-14 16:10:30 +10:00
ctdb-crash-cleanup.sh scripts: drop_all_public_ips() now prints messages to stdout, not log 2013-06-20 13:01:09 +10:00
ctdb.init Add missing $remote_fs LSB dependency 2013-10-24 16:54:08 +11:00
ctdb.service initscript: Update systemd configuration to put PID file in /run/ctdb 2013-10-25 12:06:07 +11:00
ctdb.sudoers statd-callout: Make sure statd callout script always runs as root 2013-04-08 11:14:28 +10:00
ctdb.sysconfig ctdb-config: Simplify the default CTDB configuration file 2013-11-27 18:46:17 +01:00
ctdbd_wrapper initscript: New configuration variable CTDB_DBDIR_STATE 2013-10-22 14:34:05 +11:00
debug_locks.sh ctdb-scripts: Be careful when generating unique pids for stack traces 2013-11-27 18:46:17 +01:00
debug-hung-script.sh scripts: Do not run ctdb tool commands when debugging hung "init" event 2013-08-09 11:04:55 +10:00
functions ctdb/eventscripts: Do not reconfigure in "monitor" events 2013-12-17 06:32:35 +01:00
gcore_trace.sh common: Debug ctdb_addr_to_str() using new function ctdb_external_trace() 2012-10-18 20:05:42 +11:00
notify.d.README scripts: Rework notify.sh to use notify.d/ directory 2013-05-23 16:18:23 +10:00
notify.sh scripts: Rework notify.sh to use notify.d/ directory 2013-05-23 16:18:23 +10:00
README Eventscript support - Remove unused interface_modify.sh 2012-03-22 15:30:27 +11:00
statd-callout ctdb-scripts: Add an early exit to statd-callout's notify case 2013-11-27 18:46:16 +01: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.

  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.