From e00b13dfc7e2f927ab8baf1333de9d1f4076adfb Mon Sep 17 00:00:00 2001 From: Mathieu Parent Date: Thu, 26 Mar 2009 22:31:20 +0100 Subject: [PATCH 11/15] Show progress during start/stop/restart/... --- config/ctdb.init | 133 +++++++++++++++++++++++++++--------------------------- 1 files changed, 67 insertions(+), 66 deletions(-) diff --git a/config/ctdb.init b/config/ctdb.init index 4776e7a..0d7f3de 100755 --- a/config/ctdb.init +++ b/config/ctdb.init @@ -164,9 +164,6 @@ running() { } start_server() { - killall -q ctdbd - eval_gettext "Starting ctdbd service: " - # check all persistent databases that they look ok case $init_style in ubuntu) @@ -222,19 +219,6 @@ start_server() { } stop_server() { - eval_gettext "Shutting down ctdbd service: " - ctdb ping > /dev/null 2>&1 || { - echo -n " Warning: ctdbd not running ! " - case $init_style in - suse) - rc_status -v - ;; - redhat) - echo "" - ;; - esac - return 0 - } ctdb shutdown RETVAL=$? count=0 @@ -272,57 +256,74 @@ stop_server() { return $RETVAL } -restart_server() { - stop_server - start_server -} - -status() { - eval_gettext "Checking for ctdbd service: " - ctdb ping > /dev/null 2>&1 || { - RETVAL=$? - echo -n " ctdbd not running. " - case $init_style in - suse) - set_retval $RETVAL - rc_status -v - ;; - redhat) - echo "" - ;; - esac - return $RETVAL - } - echo "" - ctdb status -} - - case "$1" in - start) - start_server - ;; - stop) - stop_server - ;; - restart|reload) - restart_server - ;; - status) - status - ;; - condrestart) - ctdb status > /dev/null && restart_server || : - ;; - cron) - # used from cron to auto-restart ctdb - ctdb status > /dev/null || restart_server - ;; - *) - eval_gettext "Usage: $0 {start|stop|restart|status|cron|condrestart}" >&2 - echo >&2 - exit 1 - ;; + start) + log_daemon_msg "Starting $DESC " "$NAME" + # Check if it's running first + if running ; then + log_progress_msg "already running" + log_end_msg 0 + exit 0 + fi + if start_server && running ; then + # It's ok, the server started and is running + log_end_msg 0 + else + # Either we could not start it or it is not running + # after we did + log_end_msg 1 + fi + ;; + stop) + log_daemon_msg "Stopping $DESC" "$NAME" + if running ; then + # Only stop the server if we see it running + stop_server + log_end_msg $? + else + # If it's not running don't do anything + log_progress_msg "not running" + log_end_msg 0 + exit 0 + fi + ;; + restart|reload|force-reload) + log_daemon_msg "Restarting $DESC" "$NAME" + running && stop_server + start_server + running + log_end_msg $? + ;; + status) + log_daemon_msg "Checking status of $DESC" "$NAME" + if running ; then + log_progress_msg "running" + echo + ctdb status + log_end_msg 0 + else + log_progress_msg "not running" + log_end_msg 0 + exit 3 + fi + ;; + condrestart) + if running ; then + log_daemon_msg "Restarting $DESC" "$NAME" + stop_server + start_server + log_end_msg $? + fi + ;; + cron) + # used from cron to auto-restart ctdb + running || restart_server + ;; + *) + eval_gettext "Usage: $0 {start|stop|restart|status|cron|condrestart}" >&2 + echo >&2 + exit 1 + ;; esac exit $? -- 1.6.2