root / snf-cyclades-app / conf / init.d / snf-dispatcher @ 6138f0ef
History | View | Annotate | Download (3 kB)
1 | 92acc723 | Kostas Papadimitriou | #!/bin/sh |
---|---|---|---|
2 | a1ac271f | Kostas Papadimitriou | |
3 | a1ac271f | Kostas Papadimitriou | ### BEGIN INIT INFO |
4 | 92acc723 | Kostas Papadimitriou | # Provides: snf-dispatcher |
5 | 92acc723 | Kostas Papadimitriou | # Required-Start: $remote_fs $syslog |
6 | 92acc723 | Kostas Papadimitriou | # Required-Stop: $remote_fs $syslog |
7 | 92acc723 | Kostas Papadimitriou | # Default-Start: 2 3 4 5 |
8 | 92acc723 | Kostas Papadimitriou | # Default-Stop: 0 1 6 |
9 | a1ac271f | Kostas Papadimitriou | # Short-Description: Synnefo dispatcher daemon |
10 | 92acc723 | 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 | 92acc723 | Kostas Papadimitriou | DAEMON=/usr/bin/snf-dispatcher |
18 | a1ac271f | Kostas Papadimitriou | SNF_DSPTCH_OPTS='' |
19 | a1ac271f | Kostas Papadimitriou | SNF_DSPTCH_DEFAULTS_FILE=/etc/default/snf-dispatcher |
20 | 92acc723 | Kostas Papadimitriou | SNF_DSPTCH_RUNDIR=/var/run/synnefo |
21 | 92acc723 | Kostas Papadimitriou | SNF_DSPTCH_PID_FILE=$SNF_DSPTCH_RUNDIR/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 | 92acc723 | Kostas Papadimitriou | . $SNF_DSPTCH_DEFAULTS_FILE |
29 | a1ac271f | Kostas Papadimitriou | SNF_DSPTCH_OPTS=$SNF_DSPTCH_OPTS" -p $SNF_DSPTCH_PID_FILE" |
30 | 92acc723 | 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 | 92acc723 | 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 | 92acc723 | Kostas Papadimitriou | if start-stop-daemon --start --chuid $SNF_USER --exec $DAEMON -- $SNF_DSPTCH_OPTS; then |
43 | 92acc723 | Kostas Papadimitriou | rc=0 |
44 | 92acc723 | Kostas Papadimitriou | sleep 1 |
45 | 92acc723 | Kostas Papadimitriou | if ! kill -0 $(cat $SNF_DSPTCH_PID_FILE) >/dev/null 2>&1; then |
46 | 92acc723 | Kostas Papadimitriou | log_failure_msg "snf-dispatcher daemon failed to start" |
47 | 92acc723 | Kostas Papadimitriou | rc=1 |
48 | 92acc723 | Kostas Papadimitriou | fi |
49 | 92acc723 | Kostas Papadimitriou | else |
50 | 92acc723 | Kostas Papadimitriou | rc=1 |
51 | 92acc723 | Kostas Papadimitriou | fi |
52 | 92acc723 | Kostas Papadimitriou | |
53 | 92acc723 | Kostas Papadimitriou | if [ $rc -eq 0 ]; then |
54 | 92acc723 | Kostas Papadimitriou | log_end_msg 0 |
55 | 92acc723 | Kostas Papadimitriou | else |
56 | 92acc723 | Kostas Papadimitriou | log_end_msg 1 |
57 | 92acc723 | Kostas Papadimitriou | rm -f $SNF_DSPTCH_PID_FILE |
58 | 92acc723 | Kostas Papadimitriou | fi |
59 | a1ac271f | Kostas Papadimitriou | } # dispatcher_start |
60 | a1ac271f | Kostas Papadimitriou | |
61 | a1ac271f | Kostas Papadimitriou | |
62 | a1ac271f | Kostas Papadimitriou | case "$1" in |
63 | a1ac271f | Kostas Papadimitriou | start) |
64 | 92acc723 | Kostas Papadimitriou | # Ensure the directory containing the pidfile exists |
65 | 92acc723 | Kostas Papadimitriou | # and has the right permissions |
66 | 92acc723 | Kostas Papadimitriou | mkdir -p $SNF_DSPTCH_RUNDIR |
67 | 92acc723 | Kostas Papadimitriou | chown $SNF_USER $SNF_DSPTCH_RUNDIR |
68 | 92acc723 | Kostas Papadimitriou | chmod 0755 $SNF_DSPTCH_RUNDIR |
69 | 92acc723 | Kostas Papadimitriou | |
70 | a1ac271f | Kostas Papadimitriou | if "$SNF_DSPTCH_ENABLE"; then |
71 | 92acc723 | Kostas Papadimitriou | log_daemon_msg "Starting snf-dispatcher daemon" "snf-dispatcher" |
72 | 92acc723 | Kostas Papadimitriou | if [ -s $SNF_DSPTCH_PID_FILE ] && kill -0 $(cat $SNF_DSPTCH_PID_FILE) >/dev/null 2>&1; then |
73 | a1ac271f | Kostas Papadimitriou | log_progress_msg "apparently already running" |
74 | a1ac271f | Kostas Papadimitriou | log_end_msg 0 |
75 | a1ac271f | Kostas Papadimitriou | exit 0 |
76 | 92acc723 | Kostas Papadimitriou | fi |
77 | 92acc723 | Kostas Papadimitriou | dispatcher_start |
78 | 92acc723 | Kostas Papadimitriou | else |
79 | 92acc723 | 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 | ;; |
82 | a1ac271f | Kostas Papadimitriou | stop) |
83 | a1ac271f | Kostas Papadimitriou | log_daemon_msg "Stopping snf-dispatcher daemon" "snf-dispatcher" |
84 | a1ac271f | Kostas Papadimitriou | start-stop-daemon --stop --quiet --oknodo --pidfile $SNF_DSPTCH_PID_FILE |
85 | a1ac271f | Kostas Papadimitriou | log_end_msg $? |
86 | a1ac271f | Kostas Papadimitriou | rm -f $SNF_DSPTCH_PID_FILE |
87 | a1ac271f | Kostas Papadimitriou | ;; |
88 | a1ac271f | Kostas Papadimitriou | |
89 | a1ac271f | Kostas Papadimitriou | restart) |
90 | a1ac271f | Kostas Papadimitriou | set +e |
91 | a1ac271f | Kostas Papadimitriou | if $SNF_DSPTCH_ENABLE; then |
92 | 92acc723 | Kostas Papadimitriou | log_daemon_msg "Restarting dispatcher daemon" "dispatcher" |
93 | 92acc723 | Kostas Papadimitriou | if [ -s $SNF_DSPTCH_PID_FILE ] && kill -0 $(cat $SNF_DSPTCH_PID_FILE) >/dev/null 2>&1; then |
94 | a1ac271f | Kostas Papadimitriou | start-stop-daemon --stop --quiet --oknodo --pidfile $SNF_DSPTCH_PID_FILE || true |
95 | a1ac271f | Kostas Papadimitriou | sleep 1 |
96 | 92acc723 | Kostas Papadimitriou | else |
97 | a1ac271f | Kostas Papadimitriou | log_warning_msg "dispatcher daemon not running, attempting to start." |
98 | 92acc723 | Kostas Papadimitriou | rm -f $SNF_DSPTCH_PID_FILE |
99 | 92acc723 | Kostas Papadimitriou | fi |
100 | 92acc723 | Kostas Papadimitriou | dispatcher_start |
101 | 92acc723 | Kostas Papadimitriou | else |
102 | 92acc723 | Kostas Papadimitriou | [ "$VERBOSE" != no ] && log_warning_msg "dispatcher daemon not enabled in $SNF_DSPTCH_DEFAULTS_FILE, not starting..." |
103 | a1ac271f | Kostas Papadimitriou | fi |
104 | a1ac271f | Kostas Papadimitriou | ;; |
105 | a1ac271f | Kostas Papadimitriou | |
106 | a1ac271f | Kostas Papadimitriou | status) |
107 | a1ac271f | Kostas Papadimitriou | status_of_proc -p $SNF_DSPTCH_PID_FILE "$DAEMON" dispatcher |
108 | a1ac271f | Kostas Papadimitriou | exit $? # notreached due to set -e |
109 | a1ac271f | Kostas Papadimitriou | ;; |
110 | a1ac271f | Kostas Papadimitriou | *) |
111 | a1ac271f | Kostas Papadimitriou | echo "Usage: /etc/init.d/snf-dispatcher {start|stop|restart|status}" |
112 | a1ac271f | Kostas Papadimitriou | exit 1 |
113 | a1ac271f | Kostas Papadimitriou | esac |
114 | a1ac271f | Kostas Papadimitriou | |
115 | a1ac271f | Kostas Papadimitriou | exit 0 |