Statistics
| Branch: | Tag: | Revision:

root / snf-ganeti-tools / conf / init.d / snf-ganeti-eventd @ 98340727

History | View | Annotate | Download (3.5 kB)

1 ddba635c Constantinos Venetsanopoulos
#! /bin/sh
2 ddba635c Constantinos Venetsanopoulos
3 ddba635c Constantinos Venetsanopoulos
### BEGIN INIT INFO
4 ddba635c Constantinos Venetsanopoulos
# Provides:          snf-ganeti-eventd
5 ddba635c Constantinos Venetsanopoulos
# Required-Start:    $remote_fs $syslog ganeti
6 ddba635c Constantinos Venetsanopoulos
# Required-Stop:     $remote_fs $syslog 
7 ddba635c Constantinos Venetsanopoulos
# Default-Start:     2 3 4 5
8 fc2c900d Vangelis Koukis
# Default-Stop:      0 1 6
9 ddba635c Constantinos Venetsanopoulos
# X-Start-After:	 ganeti
10 ddba635c Constantinos Venetsanopoulos
# Short-Description: Synnefo ganeti-eventd daemon
11 ddba635c Constantinos Venetsanopoulos
# Description:       ganeti-eventd is a daemon 
12 ddba635c Constantinos Venetsanopoulos
### END INIT INFO
13 ddba635c Constantinos Venetsanopoulos
14 ddba635c Constantinos Venetsanopoulos
set -e
15 ddba635c Constantinos Venetsanopoulos
16 ddba635c Constantinos Venetsanopoulos
# /etc/init.d/snf-ganeti-eventd: start and stop the ganeti-eventd daemon
17 ddba635c Constantinos Venetsanopoulos
# script skeleton stolen from rsyncd
18 ddba635c Constantinos Venetsanopoulos
19 ddba635c Constantinos Venetsanopoulos
20 ddba635c Constantinos Venetsanopoulos
DAEMON=/usr/sbin/snf-ganeti-eventd
21 ddba635c Constantinos Venetsanopoulos
SNF_EVENTD_PID_FILE=/var/run/snf-ganeti-eventd.pid
22 ddba635c Constantinos Venetsanopoulos
SNF_EVENTD_DEFAULTS=/etc/default/snf-ganeti-eventd
23 ddba635c Constantinos Venetsanopoulos
SNF_EVENTD_OPTS=''
24 ddba635c Constantinos Venetsanopoulos
SNF_EVENTD_ENABLE=true
25 ddba635c Constantinos Venetsanopoulos
SNF_USER="root"
26 ddba635c Constantinos Venetsanopoulos
27 ddba635c Constantinos Venetsanopoulos
test -x $DAEMON || exit 0
28 ddba635c Constantinos Venetsanopoulos
29 ddba635c Constantinos Venetsanopoulos
. /lib/lsb/init-functions
30 ddba635c Constantinos Venetsanopoulos
31 ddba635c Constantinos Venetsanopoulos
if [ -s $SNF_EVENTD_DEFAULTS_FILE ]; then
32 ddba635c Constantinos Venetsanopoulos
    . $SNF_EVENTD_DEFAULTS_FILE
33 ddba635c Constantinos Venetsanopoulos
fi
34 ddba635c Constantinos Venetsanopoulos
35 ddba635c Constantinos Venetsanopoulos
export PATH="${PATH:+$PATH:}/usr/sbin:/sbin"
36 ddba635c Constantinos Venetsanopoulos
37 ddba635c Constantinos Venetsanopoulos
eventd_start() {
38 ddba635c Constantinos Venetsanopoulos
    if start-stop-daemon --start --chuid $SNF_USER --pidfile $SNF_EVENTD_PID_FILE \
39 ddba635c Constantinos Venetsanopoulos
		--exec $DAEMON -- $SNF_EVENTD_OPTS
40 ddba635c Constantinos Venetsanopoulos
    then
41 ddba635c Constantinos Venetsanopoulos
        rc=0
42 ddba635c Constantinos Venetsanopoulos
        sleep 1
43 ddba635c Constantinos Venetsanopoulos
        if ! kill -0 $(cat $SNF_EVENTD_PID_FILE) >/dev/null 2>&1; then
44 ddba635c Constantinos Venetsanopoulos
            log_failure_msg "snf-ganeti-eventd daemon failed to start"
45 ddba635c Constantinos Venetsanopoulos
            rc=1
46 ddba635c Constantinos Venetsanopoulos
        fi
47 ddba635c Constantinos Venetsanopoulos
    else
48 ddba635c Constantinos Venetsanopoulos
        rc=1
49 ddba635c Constantinos Venetsanopoulos
    fi
50 ddba635c Constantinos Venetsanopoulos
    if [ $rc -eq 0 ]; then
51 ddba635c Constantinos Venetsanopoulos
        log_end_msg 0
52 ddba635c Constantinos Venetsanopoulos
    else
53 ddba635c Constantinos Venetsanopoulos
        log_end_msg 1
54 ddba635c Constantinos Venetsanopoulos
        rm -f $SNF_EVENTD_PID_FILE
55 ddba635c Constantinos Venetsanopoulos
    fi
56 ddba635c Constantinos Venetsanopoulos
} # eventd_start
57 ddba635c Constantinos Venetsanopoulos
58 ddba635c Constantinos Venetsanopoulos
MASTER=`/usr/sbin/gnt-cluster getmaster`
59 ddba635c Constantinos Venetsanopoulos
HOST=`/bin/hostname -f`
60 ddba635c Constantinos Venetsanopoulos
61 ddba635c Constantinos Venetsanopoulos
case "$1" in
62 ddba635c Constantinos Venetsanopoulos
  start)
63 98340727 Constantinos Venetsanopoulos
	if [ "x$MASTER" != x$HOST ] ; then
64 98340727 Constantinos Venetsanopoulos
	    log_warning_msg "snf-ganeti-eventd should run on the ganeti master only, aborting"
65 98340727 Constantinos Venetsanopoulos
	    log_end_msg 0
66 98340727 Constantinos Venetsanopoulos
	    exit 0
67 98340727 Constantinos Venetsanopoulos
	fi
68 98340727 Constantinos Venetsanopoulos
69 ddba635c Constantinos Venetsanopoulos
        if "$SNF_EVENTD_ENABLE"; then
70 ddba635c Constantinos Venetsanopoulos
            log_daemon_msg "Starting snf-ganeti-eventd daemon" "snf-ganeti-eventd"
71 ddba635c Constantinos Venetsanopoulos
            if [ -s $SNF_EVENTD_PID_FILE ] && kill -0 $(cat $SNF_EVENTD_PID_FILE) >/dev/null 2>&1; then
72 ddba635c Constantinos Venetsanopoulos
                log_progress_msg "apparently already running"
73 ddba635c Constantinos Venetsanopoulos
                log_end_msg 0
74 ddba635c Constantinos Venetsanopoulos
                exit 0
75 ddba635c Constantinos Venetsanopoulos
            fi
76 ddba635c Constantinos Venetsanopoulos
            eventd_start
77 ddba635c Constantinos Venetsanopoulos
        else
78 ddba635c Constantinos Venetsanopoulos
            if [ -s "$SNF_EVENTD_CONFIG_FILE" ]; then
79 ddba635c Constantinos Venetsanopoulos
                [ "$VERBOSE" != no ] && log_warning_msg "snf-ganeti-eventd daemon not enabled in $SNF_EVENTD_DEFAULTS_FILE, not starting..."
80 ddba635c Constantinos Venetsanopoulos
            fi
81 ddba635c Constantinos Venetsanopoulos
        fi
82 ddba635c Constantinos Venetsanopoulos
        ;;
83 ddba635c Constantinos Venetsanopoulos
  stop)
84 ddba635c Constantinos Venetsanopoulos
        log_daemon_msg "Stopping snf-ganeti-eventd daemon" "snf-ganeti-eventd"
85 ddba635c Constantinos Venetsanopoulos
        start-stop-daemon --stop --quiet --oknodo --pidfile $SNF_EVENTD_PID_FILE
86 ddba635c Constantinos Venetsanopoulos
        log_end_msg $?
87 ddba635c Constantinos Venetsanopoulos
        rm -f $SNF_EVENTD_PID_FILE
88 ddba635c Constantinos Venetsanopoulos
        ;;
89 ddba635c Constantinos Venetsanopoulos
  restart)
90 ddba635c Constantinos Venetsanopoulos
        set +e
91 ddba635c Constantinos Venetsanopoulos
        if $SNF_EVENTD_ENABLE; then
92 ddba635c Constantinos Venetsanopoulos
            log_daemon_msg "Restarting snf-ganeti-eventd daemon" "snf-ganeti-eventd"
93 ddba635c Constantinos Venetsanopoulos
            if [ -s $SNF_EVENTD_PID_FILE ] && kill -0 $(cat $SNF_EVENTD_PID_FILE) >/dev/null 2>&1; then
94 ddba635c Constantinos Venetsanopoulos
                start-stop-daemon --stop --quiet --oknodo --pidfile $SNF_EVENTD_PID_FILE || true
95 ddba635c Constantinos Venetsanopoulos
                sleep 1
96 ddba635c Constantinos Venetsanopoulos
            else
97 ddba635c Constantinos Venetsanopoulos
                log_warning_msg "snf-ganeti-eventd daemon not running, attempting to start."
98 ddba635c Constantinos Venetsanopoulos
                rm -f $SNF_EVENTD_PID_FILE
99 ddba635c Constantinos Venetsanopoulos
            fi
100 ddba635c Constantinos Venetsanopoulos
            eventd_start
101 ddba635c Constantinos Venetsanopoulos
        else
102 ddba635c Constantinos Venetsanopoulos
            if [ -s "$SNF_EVENTD_CONFIG_FILE" ]; then
103 ddba635c Constantinos Venetsanopoulos
                [ "$VERBOSE" != no ] && log_warning_msg "snf-ganeti-eventd daemon not enabled in $SNF_EVENTD_DEFAULTS_FILE, not starting..."
104 ddba635c Constantinos Venetsanopoulos
            fi
105 ddba635c Constantinos Venetsanopoulos
        fi
106 ddba635c Constantinos Venetsanopoulos
        ;;
107 ddba635c Constantinos Venetsanopoulos
108 ddba635c Constantinos Venetsanopoulos
  status)
109 ddba635c Constantinos Venetsanopoulos
        status_of_proc -p $SNF_EVENTD_PID_FILE "$DAEMON" ganeti-eventd
110 ddba635c Constantinos Venetsanopoulos
        exit $? # notreached due to set -e
111 ddba635c Constantinos Venetsanopoulos
        ;;
112 ddba635c Constantinos Venetsanopoulos
  *)
113 ddba635c Constantinos Venetsanopoulos
        echo "Usage: /etc/init.d/snf-ganeti-eventd {start|stop|restart|status}"
114 ddba635c Constantinos Venetsanopoulos
        exit 1
115 ddba635c Constantinos Venetsanopoulos
esac
116 ddba635c Constantinos Venetsanopoulos
117 ddba635c Constantinos Venetsanopoulos
exit 0