root / debian / snf-cyclades-gtools.snf-ganeti-eventd.init @ f73550da
History | View | Annotate | Download (4.2 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 | d0220d51 | Vangelis Koukis | if [ -s $SNF_EVENTD_DEFAULTS ]; then |
32 | d0220d51 | Vangelis Koukis | . $SNF_EVENTD_DEFAULTS |
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 | 8dbfc1b7 | Constantinos Venetsanopoulos | check_ganeti_master() { |
38 | 8dbfc1b7 | Constantinos Venetsanopoulos | MASTER=`/usr/sbin/gnt-cluster getmaster` |
39 | 8dbfc1b7 | Constantinos Venetsanopoulos | HOST=`/bin/hostname -f` |
40 | 8dbfc1b7 | Constantinos Venetsanopoulos | |
41 | 8dbfc1b7 | Constantinos Venetsanopoulos | if [ "x$MASTER" != x$HOST ]; then |
42 | bb84cf5f | Vangelis Koukis | log_warning_msg "snf-ganeti-eventd should run on the ganeti master only, aborting start (use 'force-start' if you know what you are doing)" |
43 | 8dbfc1b7 | Constantinos Venetsanopoulos | log_end_msg 0 |
44 | 8dbfc1b7 | Constantinos Venetsanopoulos | exit 0 |
45 | 8dbfc1b7 | Constantinos Venetsanopoulos | fi |
46 | 8dbfc1b7 | Constantinos Venetsanopoulos | } |
47 | 8dbfc1b7 | Constantinos Venetsanopoulos | |
48 | ddba635c | Constantinos Venetsanopoulos | eventd_start() { |
49 | ddba635c | Constantinos Venetsanopoulos | if start-stop-daemon --start --chuid $SNF_USER --pidfile $SNF_EVENTD_PID_FILE \ |
50 | ddba635c | Constantinos Venetsanopoulos | --exec $DAEMON -- $SNF_EVENTD_OPTS |
51 | ddba635c | Constantinos Venetsanopoulos | then |
52 | ddba635c | Constantinos Venetsanopoulos | rc=0 |
53 | ddba635c | Constantinos Venetsanopoulos | sleep 1 |
54 | ddba635c | Constantinos Venetsanopoulos | if ! kill -0 $(cat $SNF_EVENTD_PID_FILE) >/dev/null 2>&1; then |
55 | ddba635c | Constantinos Venetsanopoulos | log_failure_msg "snf-ganeti-eventd daemon failed to start" |
56 | ddba635c | Constantinos Venetsanopoulos | rc=1 |
57 | ddba635c | Constantinos Venetsanopoulos | fi |
58 | ddba635c | Constantinos Venetsanopoulos | else |
59 | ddba635c | Constantinos Venetsanopoulos | rc=1 |
60 | ddba635c | Constantinos Venetsanopoulos | fi |
61 | ddba635c | Constantinos Venetsanopoulos | if [ $rc -eq 0 ]; then |
62 | ddba635c | Constantinos Venetsanopoulos | log_end_msg 0 |
63 | ddba635c | Constantinos Venetsanopoulos | else |
64 | ddba635c | Constantinos Venetsanopoulos | log_end_msg 1 |
65 | ddba635c | Constantinos Venetsanopoulos | fi |
66 | ddba635c | Constantinos Venetsanopoulos | } # eventd_start |
67 | ddba635c | Constantinos Venetsanopoulos | |
68 | ddba635c | Constantinos Venetsanopoulos | case "$1" in |
69 | ddba635c | Constantinos Venetsanopoulos | start) |
70 | ddba635c | Constantinos Venetsanopoulos | if "$SNF_EVENTD_ENABLE"; then |
71 | ddba635c | Constantinos Venetsanopoulos | log_daemon_msg "Starting snf-ganeti-eventd daemon" "snf-ganeti-eventd" |
72 | ddba635c | Constantinos Venetsanopoulos | if [ -s $SNF_EVENTD_PID_FILE ] && kill -0 $(cat $SNF_EVENTD_PID_FILE) >/dev/null 2>&1; then |
73 | ddba635c | Constantinos Venetsanopoulos | log_progress_msg "apparently already running" |
74 | ddba635c | Constantinos Venetsanopoulos | log_end_msg 0 |
75 | ddba635c | Constantinos Venetsanopoulos | exit 0 |
76 | ddba635c | Constantinos Venetsanopoulos | fi |
77 | bb84cf5f | Vangelis Koukis | # Check if we are on the Ganeti master node |
78 | bb84cf5f | Vangelis Koukis | check_ganeti_master |
79 | ddba635c | Constantinos Venetsanopoulos | eventd_start |
80 | ddba635c | Constantinos Venetsanopoulos | else |
81 | d0220d51 | Vangelis Koukis | if [ -s "$SNF_EVENTD_DEFAULTS" ]; then |
82 | d0220d51 | Vangelis Koukis | [ "$VERBOSE" != no ] && log_warning_msg "snf-ganeti-eventd daemon not enabled in $SNF_EVENTD_DEFAULTS, not starting..." |
83 | ddba635c | Constantinos Venetsanopoulos | fi |
84 | ddba635c | Constantinos Venetsanopoulos | fi |
85 | ddba635c | Constantinos Venetsanopoulos | ;; |
86 | bb84cf5f | Vangelis Koukis | force-start) |
87 | bb84cf5f | Vangelis Koukis | if "$SNF_EVENTD_ENABLE"; then |
88 | bb84cf5f | Vangelis Koukis | log_daemon_msg "Starting snf-ganeti-eventd daemon" "snf-ganeti-eventd" |
89 | bb84cf5f | Vangelis Koukis | else |
90 | bb84cf5f | Vangelis Koukis | if [ -s "$SNF_EVENTD_DEFAULTS" ]; then |
91 | bb84cf5f | Vangelis Koukis | [ "$VERBOSE" != no ] && log_warning_msg "snf-ganeti-eventd daemon not enabled in $SNF_EVENTD_DEFAULTS, starting anyway" |
92 | bb84cf5f | Vangelis Koukis | fi |
93 | bb84cf5f | Vangelis Koukis | fi |
94 | bb84cf5f | Vangelis Koukis | |
95 | bb84cf5f | Vangelis Koukis | if [ -s $SNF_EVENTD_PID_FILE ] && kill -0 $(cat $SNF_EVENTD_PID_FILE) >/dev/null 2>&1; then |
96 | bb84cf5f | Vangelis Koukis | log_progress_msg "apparently already running" |
97 | bb84cf5f | Vangelis Koukis | log_end_msg 0 |
98 | bb84cf5f | Vangelis Koukis | exit 0 |
99 | bb84cf5f | Vangelis Koukis | fi |
100 | bb84cf5f | Vangelis Koukis | eventd_start |
101 | bb84cf5f | Vangelis Koukis | ;; |
102 | ddba635c | Constantinos Venetsanopoulos | stop) |
103 | ddba635c | Constantinos Venetsanopoulos | log_daemon_msg "Stopping snf-ganeti-eventd daemon" "snf-ganeti-eventd" |
104 | ddba635c | Constantinos Venetsanopoulos | start-stop-daemon --stop --quiet --oknodo --pidfile $SNF_EVENTD_PID_FILE |
105 | ddba635c | Constantinos Venetsanopoulos | log_end_msg $? |
106 | ddba635c | Constantinos Venetsanopoulos | ;; |
107 | ddba635c | Constantinos Venetsanopoulos | restart) |
108 | ddba635c | Constantinos Venetsanopoulos | set +e |
109 | ddba635c | Constantinos Venetsanopoulos | if $SNF_EVENTD_ENABLE; then |
110 | ddba635c | Constantinos Venetsanopoulos | log_daemon_msg "Restarting snf-ganeti-eventd daemon" "snf-ganeti-eventd" |
111 | ddba635c | Constantinos Venetsanopoulos | if [ -s $SNF_EVENTD_PID_FILE ] && kill -0 $(cat $SNF_EVENTD_PID_FILE) >/dev/null 2>&1; then |
112 | ddba635c | Constantinos Venetsanopoulos | start-stop-daemon --stop --quiet --oknodo --pidfile $SNF_EVENTD_PID_FILE || true |
113 | ddba635c | Constantinos Venetsanopoulos | sleep 1 |
114 | ddba635c | Constantinos Venetsanopoulos | else |
115 | ddba635c | Constantinos Venetsanopoulos | log_warning_msg "snf-ganeti-eventd daemon not running, attempting to start." |
116 | ddba635c | Constantinos Venetsanopoulos | fi |
117 | 8dbfc1b7 | Constantinos Venetsanopoulos | # Check if we are on the Ganeti master node, before starting |
118 | 8dbfc1b7 | Constantinos Venetsanopoulos | check_ganeti_master |
119 | ddba635c | Constantinos Venetsanopoulos | eventd_start |
120 | ddba635c | Constantinos Venetsanopoulos | else |
121 | d0220d51 | Vangelis Koukis | if [ -s "$SNF_EVENTD_DEFAULTS" ]; then |
122 | d0220d51 | Vangelis Koukis | [ "$VERBOSE" != no ] && log_warning_msg "snf-ganeti-eventd daemon not enabled in $SNF_EVENTD_DEFAULTS, not starting..." |
123 | ddba635c | Constantinos Venetsanopoulos | fi |
124 | ddba635c | Constantinos Venetsanopoulos | fi |
125 | ddba635c | Constantinos Venetsanopoulos | ;; |
126 | ddba635c | Constantinos Venetsanopoulos | |
127 | ddba635c | Constantinos Venetsanopoulos | status) |
128 | ddba635c | Constantinos Venetsanopoulos | status_of_proc -p $SNF_EVENTD_PID_FILE "$DAEMON" ganeti-eventd |
129 | ddba635c | Constantinos Venetsanopoulos | exit $? # notreached due to set -e |
130 | ddba635c | Constantinos Venetsanopoulos | ;; |
131 | ddba635c | Constantinos Venetsanopoulos | *) |
132 | bb84cf5f | Vangelis Koukis | echo "Usage: /etc/init.d/snf-ganeti-eventd {start|stop|restart|force-start|status}" |
133 | ddba635c | Constantinos Venetsanopoulos | exit 1 |
134 | ddba635c | Constantinos Venetsanopoulos | esac |
135 | ddba635c | Constantinos Venetsanopoulos | |
136 | ddba635c | Constantinos Venetsanopoulos | exit 0 |