#!/bin/sh # ganeti node daemon starter script # based on skeleton from Debian GNU/Linux ### BEGIN INIT INFO # Provides: ganeti # Required-Start: $syslog $remote_fs # Required-Stop: $syslog $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Ganeti Cluster Manager # Description: Ganeti Cluster Manager ### END INIT INFO PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin DESC="Ganeti cluster" DAEMON_UTIL=@PKGLIBDIR@/daemon-util SCRIPTNAME="@SYSCONFDIR@/init.d/ganeti" test -f "$DAEMON_UTIL" || exit 0 . /lib/lsb/init-functions check_exitcode() { RC=$1 if errmsg=$($DAEMON_UTIL check-exitcode $RC) then log_action_end_msg 0 "$errmsg" else log_action_end_msg 1 "$errmsg" fi } start_action() { # called as start_action daemon-name local daemon="$1" log_action_begin_msg "$daemon" $DAEMON_UTIL start "$@" check_exitcode $? } stop_action() { # called as stop_action daemon-name local daemon="$1" log_action_begin_msg "$daemon" $DAEMON_UTIL stop "$@" check_exitcode $? } maybe_do() { requested="$1"; shift action="$1"; shift target="$1" if [ -z "$requested" -o "$requested" = "$target" ]; then $action "$@" fi } start_all() { if ! $DAEMON_UTIL check-config; then log_warning_msg "Incomplete configuration, will not run." exit 0 fi for i in $($DAEMON_UTIL list-start-daemons); do maybe_do "$1" start_action $i done } stop_all() { for i in $($DAEMON_UTIL list-stop-daemons); do maybe_do "$1" stop_action $i done } if [ -n "$2" ] && ! errmsg=$($DAEMON_UTIL is-daemon-name "$2" 2>&1); then log_failure_msg "$errmsg" exit 1 fi case "$1" in start) log_daemon_msg "Starting $DESC" "$2" start_all "$2" ;; stop) log_daemon_msg "Stopping $DESC" "$2" stop_all "$2" ;; restart|force-reload) log_daemon_msg "Restarting $DESC" "$2" stop_all "$2" start_all "$2" ;; *) log_success_msg "Usage: $SCRIPTNAME {start|stop|force-reload|restart}" exit 1 ;; esac exit 0