root / snf-app / conf / init.d / snf-dispatcher @ a1ac271f
History | View | Annotate | Download (3.3 kB)
1 | a1ac271f | Kostas Papadimitriou | #! /bin/sh |
---|---|---|---|
2 | a1ac271f | Kostas Papadimitriou | |
3 | a1ac271f | Kostas Papadimitriou | ### BEGIN INIT INFO |
4 | a1ac271f | Kostas Papadimitriou | # Provides: snf-dispatcher |
5 | a1ac271f | Kostas Papadimitriou | # Required-Start: $remote_fs $syslog |
6 | a1ac271f | Kostas Papadimitriou | # Required-Stop: $remote_fs $syslog |
7 | a1ac271f | Kostas Papadimitriou | # Default-Start: 2 3 4 5 |
8 | a1ac271f | Kostas Papadimitriou | # Default-Stop: 0 1 6 |
9 | a1ac271f | Kostas Papadimitriou | # Short-Description: Synnefo dispatcher daemon |
10 | a1ac271f | Kostas Papadimitriou | # Description: Dispatcher is a daemon for the synnefo middleware logic layer |
11 | a1ac271f | Kostas Papadimitriou | ### END INIT INFO |
12 | a1ac271f | Kostas Papadimitriou | |
13 | a1ac271f | Kostas Papadimitriou | set -e |
14 | a1ac271f | Kostas Papadimitriou | |
15 | a1ac271f | Kostas Papadimitriou | # /etc/init.d/snf-dispatcher: start and stop the dispatcher daemon |
16 | a1ac271f | Kostas Papadimitriou | |
17 | a1ac271f | Kostas Papadimitriou | DAEMON=snf-dispatcher |
18 | a1ac271f | Kostas Papadimitriou | SNF_DSPTCH_OPTS='' |
19 | a1ac271f | Kostas Papadimitriou | SNF_DSPTCH_DEFAULTS_FILE=/etc/default/snf-dispatcher |
20 | a1ac271f | Kostas Papadimitriou | SNF_DSPTCH_CONFIG_FILE=/etc/snf-dispatcher.conf |
21 | a1ac271f | Kostas Papadimitriou | SNF_DSPTCH_PID_FILE=/var/run/synnefo/snf_dispatcher.pid |
22 | a1ac271f | Kostas Papadimitriou | |
23 | a1ac271f | Kostas Papadimitriou | test -x $DAEMON || exit 0 |
24 | a1ac271f | Kostas Papadimitriou | |
25 | a1ac271f | Kostas Papadimitriou | . /lib/lsb/init-functions |
26 | a1ac271f | Kostas Papadimitriou | |
27 | a1ac271f | Kostas Papadimitriou | if [ -s $SNF_DSPTCH_DEFAULTS_FILE ]; then |
28 | a1ac271f | Kostas Papadimitriou | . $SNF_DSPTCH_DEFAULTS_FILE |
29 | a1ac271f | Kostas Papadimitriou | SNF_DSPTCH_OPTS=$SNF_DSPTCH_OPTS" -p $SNF_DSPTCH_PID_FILE" |
30 | a1ac271f | Kostas Papadimitriou | case "x$SNF_DSPTCH_ENABLE" in |
31 | a1ac271f | Kostas Papadimitriou | xtrue|xfalse) ;; |
32 | a1ac271f | Kostas Papadimitriou | *) log_failure_msg "Value of SNF_DSPTCH_ENABLE in $SNF_DSPTCH_DEFAULTS_FILE must be either 'true' or 'false';" |
33 | a1ac271f | Kostas Papadimitriou | log_failure_msg "not starting dispatcher daemon." |
34 | a1ac271f | Kostas Papadimitriou | exit 1 |
35 | a1ac271f | Kostas Papadimitriou | ;; |
36 | a1ac271f | Kostas Papadimitriou | esac |
37 | a1ac271f | Kostas Papadimitriou | fi |
38 | a1ac271f | Kostas Papadimitriou | |
39 | a1ac271f | Kostas Papadimitriou | export PATH="${PATH:+$PATH:}/usr/sbin:/sbin" |
40 | a1ac271f | Kostas Papadimitriou | |
41 | a1ac271f | Kostas Papadimitriou | dispatcher_start() { |
42 | a1ac271f | Kostas Papadimitriou | if [ ! -s "$SNF_DSPTCH_CONFIG_FILE" ]; then |
43 | a1ac271f | Kostas Papadimitriou | log_failure_msg "missing or empty config file $SNF_DSPTCH_CONFIG_FILE" |
44 | a1ac271f | Kostas Papadimitriou | log_end_msg 1 |
45 | a1ac271f | Kostas Papadimitriou | exit 0 |
46 | a1ac271f | Kostas Papadimitriou | fi |
47 | a1ac271f | Kostas Papadimitriou | if start-stop-daemon --start --chuid $SNF_USER --exec $DAEMON -- $SNF_DSPTCH_OPTS |
48 | a1ac271f | Kostas Papadimitriou | then |
49 | a1ac271f | Kostas Papadimitriou | rc=0 |
50 | a1ac271f | Kostas Papadimitriou | sleep 1 |
51 | a1ac271f | Kostas Papadimitriou | if ! kill -0 $(cat $SNF_DSPTCH_PID_FILE) >/dev/null 2>&1; then |
52 | a1ac271f | Kostas Papadimitriou | log_failure_msg "snf-dispatcher daemon failed to start" |
53 | a1ac271f | Kostas Papadimitriou | rc=1 |
54 | a1ac271f | Kostas Papadimitriou | fi |
55 | a1ac271f | Kostas Papadimitriou | else |
56 | a1ac271f | Kostas Papadimitriou | rc=1 |
57 | a1ac271f | Kostas Papadimitriou | fi |
58 | a1ac271f | Kostas Papadimitriou | if [ $rc -eq 0 ]; then |
59 | a1ac271f | Kostas Papadimitriou | log_end_msg 0 |
60 | a1ac271f | Kostas Papadimitriou | else |
61 | a1ac271f | Kostas Papadimitriou | log_end_msg 1 |
62 | a1ac271f | Kostas Papadimitriou | rm -f $SNF_DSPTCH_PID_FILE |
63 | a1ac271f | Kostas Papadimitriou | fi |
64 | a1ac271f | Kostas Papadimitriou | } # dispatcher_start |
65 | a1ac271f | Kostas Papadimitriou | |
66 | a1ac271f | Kostas Papadimitriou | |
67 | a1ac271f | Kostas Papadimitriou | case "$1" in |
68 | a1ac271f | Kostas Papadimitriou | start) |
69 | a1ac271f | Kostas Papadimitriou | if "$SNF_DSPTCH_ENABLE"; then |
70 | a1ac271f | Kostas Papadimitriou | log_daemon_msg "Starting snf-dispatcher daemon" "snf-dispatcher" |
71 | a1ac271f | Kostas Papadimitriou | if [ -s $SNF_DSPTCH_PID_FILE ] && kill -0 $(cat $SNF_DSPTCH_PID_FILE) >/dev/null 2>&1; then |
72 | a1ac271f | Kostas Papadimitriou | log_progress_msg "apparently already running" |
73 | a1ac271f | Kostas Papadimitriou | log_end_msg 0 |
74 | a1ac271f | Kostas Papadimitriou | exit 0 |
75 | a1ac271f | Kostas Papadimitriou | fi |
76 | a1ac271f | Kostas Papadimitriou | dispatcher_start |
77 | a1ac271f | Kostas Papadimitriou | else |
78 | a1ac271f | Kostas Papadimitriou | if [ -s "$SNF_DSPTCH_CONFIG_FILE" ]; then |
79 | a1ac271f | Kostas Papadimitriou | [ "$VERBOSE" != no ] && log_warning_msg "snf-dispatcher daemon not enabled in $SNF_DSPTCH_DEFAULTS_FILE, not starting..." |
80 | a1ac271f | Kostas Papadimitriou | fi |
81 | a1ac271f | Kostas Papadimitriou | fi |
82 | a1ac271f | Kostas Papadimitriou | ;; |
83 | a1ac271f | Kostas Papadimitriou | stop) |
84 | a1ac271f | Kostas Papadimitriou | log_daemon_msg "Stopping snf-dispatcher daemon" "snf-dispatcher" |
85 | a1ac271f | Kostas Papadimitriou | start-stop-daemon --stop --quiet --oknodo --pidfile $SNF_DSPTCH_PID_FILE |
86 | a1ac271f | Kostas Papadimitriou | log_end_msg $? |
87 | a1ac271f | Kostas Papadimitriou | rm -f $SNF_DSPTCH_PID_FILE |
88 | a1ac271f | Kostas Papadimitriou | ;; |
89 | a1ac271f | Kostas Papadimitriou | |
90 | a1ac271f | Kostas Papadimitriou | restart) |
91 | a1ac271f | Kostas Papadimitriou | set +e |
92 | a1ac271f | Kostas Papadimitriou | if $SNF_DSPTCH_ENABLE; then |
93 | a1ac271f | Kostas Papadimitriou | log_daemon_msg "Restarting dispatcher daemon" "dispatcher" |
94 | a1ac271f | Kostas Papadimitriou | if [ -s $SNF_DSPTCH_PID_FILE ] && kill -0 $(cat $SNF_DSPTCH_PID_FILE) >/dev/null 2>&1; then |
95 | a1ac271f | Kostas Papadimitriou | start-stop-daemon --stop --quiet --oknodo --pidfile $SNF_DSPTCH_PID_FILE || true |
96 | a1ac271f | Kostas Papadimitriou | sleep 1 |
97 | a1ac271f | Kostas Papadimitriou | else |
98 | a1ac271f | Kostas Papadimitriou | log_warning_msg "dispatcher daemon not running, attempting to start." |
99 | a1ac271f | Kostas Papadimitriou | rm -f $SNF_DSPTCH_PID_FILE |
100 | a1ac271f | Kostas Papadimitriou | fi |
101 | a1ac271f | Kostas Papadimitriou | dispatcher_start |
102 | a1ac271f | Kostas Papadimitriou | else |
103 | a1ac271f | Kostas Papadimitriou | if [ -s "$SNF_DSPTCH_CONFIG_FILE" ]; then |
104 | a1ac271f | Kostas Papadimitriou | [ "$VERBOSE" != no ] && log_warning_msg "dispatcher daemon not enabled in $SNF_DSPTCH_DEFAULTS_FILE, not starting..." |
105 | a1ac271f | Kostas Papadimitriou | fi |
106 | a1ac271f | Kostas Papadimitriou | fi |
107 | a1ac271f | Kostas Papadimitriou | ;; |
108 | a1ac271f | Kostas Papadimitriou | |
109 | a1ac271f | Kostas Papadimitriou | status) |
110 | a1ac271f | Kostas Papadimitriou | status_of_proc -p $SNF_DSPTCH_PID_FILE "$DAEMON" dispatcher |
111 | a1ac271f | Kostas Papadimitriou | exit $? # notreached due to set -e |
112 | a1ac271f | Kostas Papadimitriou | ;; |
113 | a1ac271f | Kostas Papadimitriou | *) |
114 | a1ac271f | Kostas Papadimitriou | echo "Usage: /etc/init.d/snf-dispatcher {start|stop|restart|status}" |
115 | a1ac271f | Kostas Papadimitriou | exit 1 |
116 | a1ac271f | Kostas Papadimitriou | esac |
117 | a1ac271f | Kostas Papadimitriou | |
118 | a1ac271f | Kostas Papadimitriou | exit 0 |