Statistics
| Branch: | Tag: | Revision:

root / doc / examples / ganeti.initd.in @ b81ef751

History | View | Annotate | Download (2.3 kB)

1
#!/bin/sh
2
# ganeti node daemon starter script
3
# based on skeleton from Debian GNU/Linux
4
### BEGIN INIT INFO
5
# Provides:          ganeti
6
# Required-Start:    $syslog $remote_fs xend
7
# Required-Stop:     $syslog $remote_fs xend
8
# Default-Start:     2 3 4 5
9
# Default-Stop:      S 0 1 6
10
# Short-Description: Ganeti Xen Cluster Manager
11
# Description:       Ganeti Xen Cluster Manager 
12
### END INIT INFO
13

    
14
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
15
DESC="Ganeti cluster"
16
NAME=ganeti-noded
17
NODED=@PREFIX@/sbin/ganeti-noded
18
MASTER=@PREFIX@/sbin/ganeti-master
19
SCRIPTNAME=@SYSCONFDIR@/init.d/ganeti
20
RUNDIR="@LOCALSTATEDIR@/run/ganeti"
21

    
22
test -f $NODED || exit 0
23

    
24
. /lib/lsb/init-functions
25

    
26
check_config() {
27
    for fname in \
28
        "@LOCALSTATEDIR@/lib/ganeti/ssconf_node_pass" \
29
        "@LOCALSTATEDIR@/lib/ganeti/server.pem"
30
    do
31
        if ! [ -f "$fname" ]; then
32
            log_end_msg 0
33
            log_warning_msg "Config $fname not there, will not run."
34
            exit 0
35
        fi
36
    done
37
}
38

    
39
master_action() {
40
    log_action_begin_msg "ganeti-master"; $MASTER "$1"
41
    RC=$?
42
    case $RC in
43
        0)
44
            log_action_end_msg 0
45
            ;;
46
        11)
47
            log_action_end_msg 0 "not master"
48
            ;;
49
        *)
50
            log_action_end_msg 1 "exit code $RC"
51
            ;;
52
    esac
53
}
54

    
55
case "$1" in
56
    start)
57
        log_daemon_msg "Starting $DESC" "$NAME"
58
        check_config
59
        test -e "$RUNDIR" || mkdir -p "$RUNDIR"
60
        if start-stop-daemon --start --quiet --exec $NODED; then
61
            log_end_msg 0
62
        else
63
            log_end_msg 1
64
        fi
65
        master_action start
66
    ;;
67
    stop)
68
        log_daemon_msg "Stopping $DESC" "$NAME"
69
        if start-stop-daemon --stop --quiet --name $NAME; then
70
            log_end_msg 0
71
        else
72
            log_end_msg 1
73
        fi
74
        master_action stop
75
    ;;
76
    restart|force-reload)
77
        log_daemon_msg "Reloading $DESC"
78
        start-stop-daemon --stop --quiet --oknodo --retry 30 --name $NAME
79
        check_config
80
        start-stop-daemon --start --quiet --exec $NODED
81
        log_end_msg $?
82

    
83
        $MASTER stop
84
        master_action start
85
     ;;
86
    *)
87
        log_success_msg "Usage: $SCRIPTNAME {start|stop|force-reload|restart}"
88
        exit 1
89
    ;;
90
esac
91

    
92
exit 0
93

    
94
# vim: set sw=4 sts=4 et foldmethod=marker :