Update the init script to start both the node daemon and the master.
authorIustin Pop <iustin@google.com>
Tue, 24 Jul 2007 12:18:23 +0000 (12:18 +0000)
committerIustin Pop <iustin@google.com>
Tue, 24 Jul 2007 12:18:23 +0000 (12:18 +0000)
Reviewed-by: imsnah

docs/examples/ganeti.initd

index c2e639b..25327ab 100755 (executable)
@@ -3,14 +3,13 @@
 # based on skeleton from Debian GNU/Linux
 
 PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
 # based on skeleton from Debian GNU/Linux
 
 PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
-DAEMON=/usr/local/sbin/ganeti-noded
+NODED=/usr/local/sbin/ganeti-noded
+MASTER=/usr/local/sbin/ganeti-master
 NAME=ganeti-noded
 SCRIPTNAME=/etc/init.d/ganeti
 NAME=ganeti-noded
 SCRIPTNAME=/etc/init.d/ganeti
-DESC="Ganeti node daemon"
+DESC="Ganeti cluster"
 
 
-test -f $DAEMON || exit 0
-
-set -e
+test -f $NODED || exit 0
 
 . /lib/lsb/init-functions
 
 
 . /lib/lsb/init-functions
 
@@ -24,25 +23,52 @@ check_config() {
     done
 }
 
     done
 }
 
+master_action() {
+    log_action_begin_msg "ganeti-master"; $MASTER "$1"
+    RC=$?
+    case $RC in
+        0)
+            log_action_end_msg 0
+            ;;
+        11)
+            log_action_end_msg 0 "not master"
+            ;;
+        *)
+            log_action_end_msg 1 "exit code $RC"
+            ;;
+    esac
+}
+
 case "$1" in
     start)
 case "$1" in
     start)
-        log_begin_msg "Starting $DESC..."
+        log_daemon_msg "Starting $DESC" "$NAME"
         check_config
         check_config
-        start-stop-daemon --start --quiet --exec $DAEMON || log_end_msg 1
-        log_end_msg 0
+        if start-stop-daemon --start --quiet --exec $NODED; then
+            log_end_msg 0
+        else
+            log_end_msg 1
+        fi
+        master_action start
     ;;
     stop)
     ;;
     stop)
-        log_begin_msg "Stopping $DESC..."
-        start-stop-daemon --stop --quiet --name $NAME || log_end_msg 1
-        log_end_msg 0
+        log_daemon_msg "Stopping $DESC" "$NAME"
+        if start-stop-daemon --stop --quiet --name $NAME; then
+            log_end_msg 0
+        else
+            log_end_msg 1
+        fi
+        master_action stop
     ;;
     restart|force-reload)
     ;;
     restart|force-reload)
-        log_begin_msg "Reloading $DESC..."
+        log_daemon_msg "Reloading $DESC"
         start-stop-daemon --stop --quiet --oknodo --retry 30 --name $NAME
         check_config
         start-stop-daemon --stop --quiet --oknodo --retry 30 --name $NAME
         check_config
-        start-stop-daemon --start --quiet --exec $DAEMON || log_end_msg 1
-        log_end_msg 0
-    ;;
+        start-stop-daemon --start --quiet --exec $NODED
+        log_end_msg $?
+
+        $MASTER stop
+        master_action start
+     ;;
     *)
         log_success_msg "Usage: $SCRIPTNAME {start|stop|force-reload|restart}"
         exit 1
     *)
         log_success_msg "Usage: $SCRIPTNAME {start|stop|force-reload|restart}"
         exit 1