Revision 23b635c4

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

  
......
9 9
# Run as a daemon? true/false
10 10
SNF_DSPTCH_ENABLE=false
11 11

  
12
# User to run the dispatcher as
12
# User to run the snf-dispatcher as
13 13
SNF_USER="www-data"
14 14

  
15
SNF_DSPTCH_OPTS="--workers=2"
15
# Options to be passed to snf-dispatcher daemon
16
SNF_DSPTCH_OPTS=""
b/debian/snf-cyclades-app.snf-dispatcher.init
10 10
# Description:	   Dispatcher is a daemon for the synnefo middleware logic layer
11 11
### END INIT INFO
12 12

  
13
set -e
13
# Do NOT "set -e",
14
# Per Debian Policy Manual, section: System run levels and init.d scripts
15
# set -e
14 16

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

  
17 19
DAEMON=/usr/bin/snf-dispatcher
18
SNF_DSPTCH_OPTS=''
19
SNF_DSPTCH_DEFAULTS_FILE=/etc/default/snf-dispatcher
20
SNF_DSPTCH_RUNDIR=/var/run/synnefo
21
SNF_DSPTCH_PID_FILE=$SNF_DSPTCH_RUNDIR/snf_dispatcher.pid
20
NAME="snf-dispatcher"
21
DESCRIPTION="Synnefo Dispatcher Daemon"
22
DAEMON_OPTS=''
23
DAEMON_DEFAULTS_FILE=/etc/default/$NAME
24
RUNDIR=/var/run/synnefo
25
PIDFILE=$RUNDIR/$NAME.pid
26
SCRIPTNAME=/etc/init.d/$NAME
22 27

  
23
test -x $DAEMON || exit 0
28
# Exit if the package is not installed
29
[ -x "$DAEMON" ] || exit 0
24 30

  
31
# Read defaults file if it is present
32
[ -r "$DAEMON_DEFAULTS_FILE" ] && . $DAEMON_DEFAULTS_FILE
33

  
34
# Load LSB functions
25 35
. /lib/lsb/init-functions
26 36

  
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
37
check_config()
38
{
39
    # Check Configuration file
40
    if [ -r $DAEMON_DEFAULTS_FILE ]; then
41
        # Load extra daemon options
42
        DAEMON_OPTS=$SNF_DSPTCH_OPTS" -p $PIDFILE"
43
        # Check the 'ENABLE" value
44
        case "x$SNF_DSPTCH_ENABLE" in
45
          xtrue|xfalse)	;;
46
          *)
47
            log_failure_msg "Value of SNF_DSPTCH_ENABLE in $DAEMON_DEFAULTS_FILE must be either 'true' or 'false';"
48
            log_failure_msg "not starting $NAME daemon."
49
            exit 1
50
            ;;
51
        esac
52
    else
53
        log_warning_msg "$NAME default file $DAEMON_DEFAULTS_FILE is missing"
54
    fi
55
}
38 56

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

  
41
dispatcher_start() {
42
	if start-stop-daemon --start --chuid $SNF_USER --exec $DAEMON -- $SNF_DSPTCH_OPTS; then
43
		rc=0
44
		sleep 1
45
		if ! kill -0 $(cat $SNF_DSPTCH_PID_FILE) >/dev/null 2>&1; then
46
			log_failure_msg "snf-dispatcher daemon failed to start"
47
			rc=1
48
		fi
49
	else
50
		rc=1
51
	fi
52

  
53
	if [ $rc -eq 0 ]; then
54
		log_end_msg 0
55
	else
56
		log_end_msg 1
57
	fi
58
} # dispatcher_start
59
do_start() {
60
	# Ensure the directory containing the pidfile exists
61
	# and has the right permissions
62
    # Return
63
    #   0 if daemon has been started
64
    #   1 if daemon was already running
65
    #   2 if daemon could not be started
66
    #   3 if daemon is not configured to start
67
    mkdir -p $RUNDIR
68
    chown $SNF_USER $RUNDIR
69
    chmod 0755 $RUNDIR
70
    check_config
71
	if "$SNF_DSPTCH_ENABLE"; then
72
            if [ -s $PIDFILE ] && kill -0 $(cat $PIDFILE) >/dev/null 2>&1; then
73
              return 1
74
            else
75
              SNF_USER=${SNF_USER:-root}
76
              start-stop-daemon --start --chuid $SNF_USER --exec $DAEMON --pidfile $PIDFILE -- $DAEMON_OPTS || return 2
77
              sleep 1
78
              if [ ! -s $PIDFILE ] || ! kill -0 $(cat $PIDFILE) >/dev/null 2>&1; then
79
                log_warning_msg "$NAME daemon failed to start"
80
                return 2
81
              fi
82
            fi
83
    else
84
	  log_warning_msg "$NAME not enabled in $DAEMON_DEFAULTS_FILE, not starting."
85
      return 3
86
    fi
87
}
88

  
89

  
90
do_stop() {
91
    # Return
92
    # 0 if daemon has been stopped
93
    # 1 if daemon was already stopped
94
    # 2 if deamon could not be stopped
95
    # other if failure occured
96
    start-stop-daemon --stop --quiet --pidfile $PIDFILE --retry=TERM/30/KILL/5
97
    return $?
98
}
59 99

  
60 100

  
61 101
case "$1" in
62 102
  start)
63
	# Ensure the directory containing the pidfile exists
64
	# and has the right permissions
65
        mkdir -p $SNF_DSPTCH_RUNDIR
66
        chown $SNF_USER $SNF_DSPTCH_RUNDIR
67
        chmod 0755 $SNF_DSPTCH_RUNDIR
68

  
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
			[ "$VERBOSE" != no ] && log_warning_msg "snf-dispatcher daemon not enabled in $SNF_DSPTCH_DEFAULTS_FILE, not starting..."
79
	fi
80
	;;
103
    log_daemon_msg "Starting $DESCRIPTION" "$NAME"
104
    do_start
105
    case "$?" in
106
      0|3) log_end_msg 0 ;;
107
      1) log_progress_msg "Apparently already running" && log_end_msg 0;;
108
      2) log_end_msg 1 ;;
109
    esac
110
    ;;
81 111
  stop)
82
	log_daemon_msg "Stopping snf-dispatcher daemon" "snf-dispatcher"
83
	start-stop-daemon --stop --quiet --oknodo --pidfile $SNF_DSPTCH_PID_FILE
84
	log_end_msg $?
85
	;;
86

  
87
  restart)
88
	set +e
89
	if $SNF_DSPTCH_ENABLE; then
90
		log_daemon_msg "Restarting dispatcher daemon" "dispatcher"
91
		if [ -s $SNF_DSPTCH_PID_FILE ] && kill -0 $(cat $SNF_DSPTCH_PID_FILE) >/dev/null 2>&1; then
92
		start-stop-daemon --stop --quiet --oknodo --pidfile $SNF_DSPTCH_PID_FILE || true
93
		sleep 1
94
		else
95
		log_warning_msg "dispatcher daemon not running, attempting to start."
96
		fi
97
			dispatcher_start
98
		else
99
			[ "$VERBOSE" != no ] && log_warning_msg "dispatcher daemon not enabled in $SNF_DSPTCH_DEFAULTS_FILE, not starting..."
100
	fi
112
    log_daemon_msg "Stoping $DESCRIPTION" "$NAME"
113
    do_stop
114
    case "$?" in
115
      0|1) log_end_msg 0 ;;
116
      2) log_end_msg 1 ;;
117
    esac
101 118
	;;
102

  
103 119
  status)
104
	status_of_proc -p $SNF_DSPTCH_PID_FILE "$DAEMON" dispatcher
105
	exit $?	# notreached due to set -e
120
	status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $?
121
	;;
122
  restart|force-reload)
123
    log_daemon_msg "Restarting $DESCRIPTION" "$NAME"
124
    do_stop
125
    case "$?" in
126
      0|1)
127
        do_start
128
        case "$?" in
129
          0) log_end_msg 0 ;;
130
          *) log_end_msg 1 ;;  # Old process stil running or failed to start
131
        esac
132
        ;;
133
      *)
134
        # Failed to stop
135
        log_end_msg 1
136
        ;;
137
    esac
106 138
	;;
107 139
  *)
108
	echo "Usage: /etc/init.d/snf-dispatcher {start|stop|restart|status}"
109
	exit 1
140
	echo "Usage: /etc/init.d/snf-dispatcher {start|stop|status|restart|force-reload}" >&2
141
	exit 3
142
    ;;
110 143
esac
111

  
112
exit 0
113

  
b/debian/snf-cyclades-gtools.snf-ganeti-eventd.init
1
#! /bin/sh
1
#!/bin/sh
2 2

  
3 3
### BEGIN INIT INFO
4
# Provides:          snf-ganeti-eventd
5
# Required-Start:    $remote_fs $syslog ganeti
6
# Required-Stop:     $remote_fs $syslog 
7
# Default-Start:     2 3 4 5
8
# Default-Stop:      0 1 6
9
# X-Start-After:	 ganeti
10
# Short-Description: Synnefo ganeti-eventd daemon
11
# Description:       ganeti-eventd is a daemon 
4
# Provides:		  snf-ganeti-eventd
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 Ganeti eventd daemon
10
# Description: Synnefo Ganeti eventd daemon
12 11
### END INIT INFO
13 12

  
14
set -e
15

  
16
# /etc/init.d/snf-ganeti-eventd: start and stop the ganeti-eventd daemon
17
# script skeleton stolen from rsyncd
13
# Do NOT "set -e",
14
# Per Debian Policy Manual, section: System run levels and init.d scripts
15
# set -e
18 16

  
17
# /etc/init.d/snf-ganeti-eventd: start and stop the Synnefo Ganeti Event Daemon
19 18

  
20 19
DAEMON=/usr/sbin/snf-ganeti-eventd
21
SNF_EVENTD_PID_FILE=/var/run/snf-ganeti-eventd.pid
22
SNF_EVENTD_DEFAULTS=/etc/default/snf-ganeti-eventd
23
SNF_EVENTD_OPTS=''
20
NAME="snf-ganeti-eventd"
21
DESCRIPTION="snf-ganeti-eventd daemon"
22
DAEMON_OPTS=''
23
DAEMON_DEFAULTS_FILE=/etc/default/$NAME
24
RUNDIR=/var/run/
25
PIDFILE=$RUNDIR/$NAME.pid
26
SCRIPTNAME=/etc/init.d/$NAME
24 27
SNF_EVENTD_ENABLE=true
25
SNF_USER="root"
28
SNF_USER=root
26 29

  
27
test -x $DAEMON || exit 0
30
# Exit if the package is not installed
31
[ -x "$DAEMON" ] || exit 0
28 32

  
29
. /lib/lsb/init-functions
33
# Read defaults file if it is present
34
[ -r "$DAEMON_DEFAULTS_FILE" ] && . $DAEMON_DEFAULTS_FILE
30 35

  
31
if [ -s $SNF_EVENTD_DEFAULTS ]; then
32
    . $SNF_EVENTD_DEFAULTS
33
fi
36
# Load LSB functions
37
. /lib/lsb/init-functions
34 38

  
35 39
export PATH="${PATH:+$PATH:}/usr/sbin:/sbin"
36
export PYTHONPATH="${PYTHONPATH:+$PYTHONPATH:}/usr/share/ganeti"
40

  
41
check_config()
42
{
43
    # Check Configuration file
44
    if [ -r $DAEMON_DEFAULTS_FILE ]; then
45
        # Load extra daemon options
46
        DAEMON_OPTS=$SNF_EVENTD_OPTS" --pid-file $PIDFILE"
47
        # Check the 'ENABLE" value
48
        case "x$SNF_EVENTD_ENABLE" in
49
          xtrue|xfalse)	;;
50
          *)
51
            log_failure_msg "Value of SNF_EVENTD_ENABLE in $DAEMON_DEFAULTS_FILE must be either 'true' or 'false';"
52
            log_failure_msg "not starting $NAME daemon."
53
            exit 1
54
            ;;
55
        esac
56
    else
57
        log_warning_msg "$NAME default file $DAEMON_DEFAULTS_FILE is missing"
58
    fi
59
}
37 60

  
38 61
check_ganeti_master() {
39 62
    MASTER=`/usr/sbin/gnt-cluster getmaster`
......
46 69
    fi
47 70
}
48 71

  
49
eventd_start() {
50
    if start-stop-daemon --start --chuid $SNF_USER --pidfile $SNF_EVENTD_PID_FILE \
51
		--exec $DAEMON -- $SNF_EVENTD_OPTS
52
    then
53
        rc=0
54
        sleep 1
55
        if ! kill -0 $(cat $SNF_EVENTD_PID_FILE) >/dev/null 2>&1; then
56
            log_failure_msg "snf-ganeti-eventd daemon failed to start"
57
            rc=1
58
        fi
59
    else
60
        rc=1
61
    fi
62
    if [ $rc -eq 0 ]; then
63
        log_end_msg 0
72
do_start() {
73
	# Ensure the directory containing the pidfile exists
74
	# and has the right permissions
75
    # Return
76
    #   0 if daemon has been started
77
    #   1 if daemon was already running
78
    #   2 if daemon could not be started
79
    #   3 if daemon is not configured to start
80
    force_start=$1
81
    check_config
82
    [ $force_start -eq 0 ] && check_ganeti_master
83
	if "$SNF_EVENTD_ENABLE"; then
84
            if [ -s $PIDFILE ] && kill -0 $(cat $PIDFILE) >/dev/null 2>&1; then
85
              return 1
86
            else
87
              SNF_USER=${SNF_USER:-root}
88
              start-stop-daemon --start --chuid $SNF_USER --exec $DAEMON --pidfile $PIDFILE -- $DAEMON_OPTS || return 2
89
              sleep 1
90
              if [ ! -s $PIDFILE ] || ! kill -0 $(cat $PIDFILE) >/dev/null 2>&1; then
91
                log_warning_msg "$NAME daemon failed to start"
92
                return 2
93
              fi
94
            fi
64 95
    else
65
        log_end_msg 1
96
	  log_warning_msg "$NAME not enabled in $DAEMON_DEFAULTS_FILE, not starting."
97
      return 3
66 98
    fi
67
} # eventd_start
99
}
100

  
101

  
102
do_stop() {
103
    # Return
104
    # 0 if daemon has been stopped
105
    # 1 if daemon was already stopped
106
    # 2 if deamon could not be stopped
107
    # other if failure occured
108
    start-stop-daemon --stop --quiet --pidfile $PIDFILE --retry=TERM/30/KILL/5
109
    return $?
110
}
111

  
68 112

  
69 113
case "$1" in
70 114
  start)
71
        if "$SNF_EVENTD_ENABLE"; then
72
            log_daemon_msg "Starting snf-ganeti-eventd daemon" "snf-ganeti-eventd"
73
            if [ -s $SNF_EVENTD_PID_FILE ] && kill -0 $(cat $SNF_EVENTD_PID_FILE) >/dev/null 2>&1; then
74
                log_progress_msg "apparently already running"
75
                log_end_msg 0
76
                exit 0
77
            fi
78
            # Check if we are on the Ganeti master node
79
            check_ganeti_master
80
            eventd_start
81
        else
82
            if [ -s "$SNF_EVENTD_DEFAULTS" ]; then
83
                [ "$VERBOSE" != no ] && log_warning_msg "snf-ganeti-eventd daemon not enabled in $SNF_EVENTD_DEFAULTS, not starting..."
84
            fi
85
        fi
86
        ;;
115
    log_daemon_msg "Starting $DESCRIPTION" "$NAME"
116
    do_start 0
117
    case "$?" in
118
      0|3) log_end_msg 0 ;;
119
      1) log_progress_msg "Apparently already running" && log_end_msg 0;;
120
      2) log_end_msg 1 ;;
121
    esac
122
    ;;
87 123
  force-start)
88
        if "$SNF_EVENTD_ENABLE"; then
89
            log_daemon_msg "Starting snf-ganeti-eventd daemon" "snf-ganeti-eventd"
90
        else
91
            if [ -s "$SNF_EVENTD_DEFAULTS" ]; then
92
                [ "$VERBOSE" != no ] && log_warning_msg "snf-ganeti-eventd daemon not enabled in $SNF_EVENTD_DEFAULTS, starting anyway"
93
            fi
94
        fi
95

  
96
        if [ -s $SNF_EVENTD_PID_FILE ] && kill -0 $(cat $SNF_EVENTD_PID_FILE) >/dev/null 2>&1; then
97
            log_progress_msg "apparently already running"
98
            log_end_msg 0
99
            exit 0
100
        fi
101
        eventd_start
102
        ;;
124
    log_daemon_msg "Starting $DESCRIPTION" "$NAME"
125
    do_start 1
126
    case "$?" in
127
      0|3) log_end_msg 0 ;;
128
      1) log_progress_msg "Apparently already running" && log_end_msg 0;;
129
      2) log_end_msg 1 ;;
130
    esac
131
    ;;
103 132
  stop)
104
        log_daemon_msg "Stopping snf-ganeti-eventd daemon" "snf-ganeti-eventd"
105
        start-stop-daemon --stop --quiet --oknodo --pidfile $SNF_EVENTD_PID_FILE
106
        log_end_msg $?
107
        ;;
108
  restart)
109
        set +e
110
        if $SNF_EVENTD_ENABLE; then
111
            log_daemon_msg "Restarting snf-ganeti-eventd daemon" "snf-ganeti-eventd"
112
            if [ -s $SNF_EVENTD_PID_FILE ] && kill -0 $(cat $SNF_EVENTD_PID_FILE) >/dev/null 2>&1; then
113
                start-stop-daemon --stop --quiet --oknodo --pidfile $SNF_EVENTD_PID_FILE || true
114
                sleep 1
115
            else
116
                log_warning_msg "snf-ganeti-eventd daemon not running, attempting to start."
117
            fi
118
            # Check if we are on the Ganeti master node, before starting
119
            check_ganeti_master
120
            eventd_start
121
        else
122
            if [ -s "$SNF_EVENTD_DEFAULTS" ]; then
123
                [ "$VERBOSE" != no ] && log_warning_msg "snf-ganeti-eventd daemon not enabled in $SNF_EVENTD_DEFAULTS, not starting..."
124
            fi
125
        fi
126
        ;;
127

  
133
    log_daemon_msg "Stoping $DESCRIPTION" "$NAME"
134
    do_stop
135
    case "$?" in
136
      0|1) log_end_msg 0 ;;
137
      2) log_end_msg 1 ;;
138
    esac
139
	;;
128 140
  status)
129
        status_of_proc -p $SNF_EVENTD_PID_FILE "$DAEMON" ganeti-eventd
130
        exit $? # notreached due to set -e
141
	status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $?
142
	;;
143
  restart|force-reload)
144
    log_daemon_msg "Restarting $DESCRIPTION" "$NAME"
145
    do_stop
146
    case "$?" in
147
      0|1)
148
        do_start 0
149
        case "$?" in
150
          0) log_end_msg 0 ;;
151
          *) log_end_msg 1 ;;  # Old process stil running or failed to start
152
        esac
153
        ;;
154
      *)
155
        # Failed to stop
156
        log_end_msg 1
131 157
        ;;
158
    esac
159
	;;
132 160
  *)
133
        echo "Usage: /etc/init.d/snf-ganeti-eventd {start|stop|restart|force-start|status}"
134
        exit 1
161
	echo "Usage: /etc/init.d/snf-ganeti-eventd {start|stop|status|restart|force-reload}" >&2
162
	exit 3
163
    ;;
135 164
esac
136

  
137
exit 0

Also available in: Unified diff