Revision a1ac271f

b/snf-app/conf/default/snf-dispatcher
1
#!/bin/sh
2
#
3
# This file is a shell script to be sourced by the appropriate 
4
# init.d script
5
#
6

  
7
# Run as a daemon? true/false
8
SNF_DSPTCH_ENABLE=false
9

  
10
# User to run the dispatcher as
11
SNF_USER="www-data"
12

  
13
# Daemon needs to be run from a specific directory atm (FIX)
14
SNF_DAEMON_DIR="/srv/okeanos"
15

  
16
# How many workers, default 2
17
WORKERS=2
18

  
19
SNF_DPTCH_OPTS="--workers=2"
b/snf-app/conf/init.d/snf-dispatcher
1
#! /bin/sh
2

  
3
### BEGIN INIT INFO
4
# Provides:          snf-dispatcher
5
# Required-Start:    $remote_fs $syslog
6
# Required-Stop:     $remote_fs $syslog
7
# Default-Start:     2 3 4 5
8
# Default-Stop:      0 1 6
9
# Short-Description: Synnefo dispatcher daemon
10
# Description:       Dispatcher is a daemon for the synnefo middleware logic layer
11
### END INIT INFO
12

  
13
set -e
14

  
15
# /etc/init.d/snf-dispatcher: start and stop the dispatcher daemon
16

  
17
DAEMON=snf-dispatcher
18
SNF_DSPTCH_OPTS=''
19
SNF_DSPTCH_DEFAULTS_FILE=/etc/default/snf-dispatcher
20
SNF_DSPTCH_CONFIG_FILE=/etc/snf-dispatcher.conf
21
SNF_DSPTCH_PID_FILE=/var/run/synnefo/snf_dispatcher.pid
22

  
23
test -x $DAEMON || exit 0
24

  
25
. /lib/lsb/init-functions
26

  
27
if [ -s $SNF_DSPTCH_DEFAULTS_FILE ]; then
28
    . $SNF_DSPTCH_DEFAULTS_FILE
29
	SNF_DSPTCH_OPTS=$SNF_DSPTCH_OPTS" -p $SNF_DSPTCH_PID_FILE"
30
    case "x$SNF_DSPTCH_ENABLE" in
31
	xtrue|xfalse)	;;
32
	*)		log_failure_msg "Value of SNF_DSPTCH_ENABLE in $SNF_DSPTCH_DEFAULTS_FILE must be either 'true' or 'false';"
33
			log_failure_msg "not starting dispatcher daemon."
34
			exit 1
35
			;;
36
    esac
37
fi
38

  
39
export PATH="${PATH:+$PATH:}/usr/sbin:/sbin"
40

  
41
dispatcher_start() {
42
    if [ ! -s "$SNF_DSPTCH_CONFIG_FILE" ]; then
43
        log_failure_msg "missing or empty config file $SNF_DSPTCH_CONFIG_FILE"
44
        log_end_msg 1
45
        exit 0
46
    fi
47
	if start-stop-daemon --start --chuid $SNF_USER --exec $DAEMON -- $SNF_DSPTCH_OPTS
48
    then
49
        rc=0
50
        sleep 1
51
        if ! kill -0 $(cat $SNF_DSPTCH_PID_FILE) >/dev/null 2>&1; then
52
            log_failure_msg "snf-dispatcher daemon failed to start"
53
            rc=1
54
        fi
55
    else
56
        rc=1
57
    fi
58
    if [ $rc -eq 0 ]; then
59
        log_end_msg 0
60
    else
61
        log_end_msg 1
62
        rm -f $SNF_DSPTCH_PID_FILE
63
    fi
64
} # dispatcher_start
65

  
66

  
67
case "$1" in
68
  start)
69
	if "$SNF_DSPTCH_ENABLE"; then
70
	    log_daemon_msg "Starting snf-dispatcher daemon" "snf-dispatcher"
71
	    if [ -s $SNF_DSPTCH_PID_FILE ] && kill -0 $(cat $SNF_DSPTCH_PID_FILE) >/dev/null 2>&1; then
72
		log_progress_msg "apparently already running"
73
		log_end_msg 0
74
		exit 0
75
	    fi
76
            dispatcher_start
77
        else
78
            if [ -s "$SNF_DSPTCH_CONFIG_FILE" ]; then
79
                [ "$VERBOSE" != no ] && log_warning_msg "snf-dispatcher daemon not enabled in $SNF_DSPTCH_DEFAULTS_FILE, not starting..."
80
            fi
81
	fi
82
	;;
83
  stop)
84
	log_daemon_msg "Stopping snf-dispatcher daemon" "snf-dispatcher"
85
	start-stop-daemon --stop --quiet --oknodo --pidfile $SNF_DSPTCH_PID_FILE
86
	log_end_msg $?
87
	rm -f $SNF_DSPTCH_PID_FILE
88
	;;
89

  
90
  restart)
91
	set +e
92
	if $SNF_DSPTCH_ENABLE; then
93
	    log_daemon_msg "Restarting dispatcher daemon" "dispatcher"
94
	    if [ -s $SNF_DSPTCH_PID_FILE ] && kill -0 $(cat $SNF_DSPTCH_PID_FILE) >/dev/null 2>&1; then
95
		start-stop-daemon --stop --quiet --oknodo --pidfile $SNF_DSPTCH_PID_FILE || true
96
		sleep 1
97
	    else
98
		log_warning_msg "dispatcher daemon not running, attempting to start."
99
	    	rm -f $SNF_DSPTCH_PID_FILE
100
	    fi
101
            dispatcher_start
102
        else
103
            if [ -s "$SNF_DSPTCH_CONFIG_FILE" ]; then
104
                [ "$VERBOSE" != no ] && log_warning_msg "dispatcher daemon not enabled in $SNF_DSPTCH_DEFAULTS_FILE, not starting..."
105
            fi
106
	fi
107
	;;
108

  
109
  status)
110
	status_of_proc -p $SNF_DSPTCH_PID_FILE "$DAEMON" dispatcher
111
	exit $?	# notreached due to set -e
112
	;;
113
  *)
114
	echo "Usage: /etc/init.d/snf-dispatcher {start|stop|restart|status}"
115
	exit 1
116
esac
117

  
118
exit 0

Also available in: Unified diff