1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-04 17:47:26 +03:00

Eventscripts: Add service-start and service-stop pseudo-events

Signed-off-by: Martin Schwenke <martin@meltin.net>

(This used to be ctdb commit be4ad110ede9981b181ac28f31ffd855a879d5df)
This commit is contained in:
Martin Schwenke 2012-08-21 15:52:03 +10:00
parent 9aa9abcc19
commit d33b12a1c5

View File

@ -1286,11 +1286,37 @@ is_ctdb_managed_service ()
ctdb_start_stop_service ()
{
_service_name="${1:-${service_name}}"
# Allow service-start/service-stop pseudo-events to start/stop
# services when we're not auto-starting/stopping and we're not
# monitoring.
case "$event_name" in
service-start)
if is_ctdb_managed_service "$_service_name" ; then
die 'service-start event not permitted when service is managed'
fi
if [ "$CTDB_SERVICE_AUTOSTARTSTOP" = "yes" ] ; then
die 'service-start event not permitted with $CTDB_SERVICE_AUTOSTARTSTOP = yes'
fi
ctdb_service_start "$_service_name"
exit $?
;;
service-stop)
if is_ctdb_managed_service "$_service_name" ; then
die 'service-stop event not permitted when service is managed'
fi
if [ "$CTDB_SERVICE_AUTOSTARTSTOP" = "yes" ] ; then
die 'service-stop event not permitted with $CTDB_SERVICE_AUTOSTARTSTOP = yes'
fi
ctdb_service_stop "$_service_name"
exit $?
;;
esac
# Do nothing unless configured to...
[ "$CTDB_SERVICE_AUTOSTARTSTOP" = "yes" ] || return 0
_service_name="${1:-${service_name}}"
[ "$event_name" = "monitor" ] || return 0
if is_ctdb_managed_service "$_service_name" ; then