~upstart-devel/upstart/upstart-jobs

144 by Dimitri John Ledkov
auto update
1
#!/bin/sh
2
### BEGIN INIT INFO
3
# Provides:          trove-api
4
# Required-Start:    $network $local_fs $remote_fs $syslog
5
# Required-Stop:     $remote_fs
6
# Should-Start:      postgresql mysql keystone rabbitmq-server ntp
7
# Should-Stop:       postgresql mysql keystone rabbitmq-server ntp
8
# Default-Start:     2 3 4 5
9
# Default-Stop:      0 1 6
10
# Short-Description: Trove API
11
# Description:       Frontend Trove API server
12
### END INIT INFO
13
14
# Author: Thomas Goirand <zigo@debian.org>
15
16
# PATH should only include /usr/* if it runs after the mountnfs.sh script
17
PATH=/sbin:/usr/sbin:/bin:/usr/bin
18
DESC="Trove DBaaS API"
19
NAME=trove-api
20
DAEMON=/usr/bin/trove-api
21
DAEMON_ARGS="--config-file=/etc/trove/trove.conf --log-dir=/var/log/trove --logfile=api.log"
22
PIDFILE=/var/run/$NAME.pid
23
SCRIPTNAME=/etc/init.d/$NAME
24
SYSTEM_USER=trove
25
26
# Exit if the package is not installed
27
[ -x $DAEMON ] || exit 0
28
29
. /lib/lsb/init-functions
30
31
if [ ! -e /var/log/trove ] ; then
32
	mkdir -p /var/log/trove
33
	chown ${SYSTEM_USER} /var/log/trove
34
fi
35
36
do_start () {
37
	start-stop-daemon --start --background --quiet --chuid ${SYSTEM_USER}:${SYSTEM_USER} --make-pidfile --pidfile $PIDFILE --startas $DAEMON --test > /dev/null \
38
		|| return 1
39
	start-stop-daemon --start --background --quiet --chuid ${SYSTEM_USER}:${SYSTEM_USER} --make-pidfile --pidfile $PIDFILE --startas $DAEMON -- \
40
		$DAEMON_ARGS \
41
		|| return 2
42
}
43
44
do_stop () {
45
	start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE
46
	RETVAL="$?"
47
	rm -f $PIDFILE
48
	return "$RETVAL"
49
}
50
51
case "$1" in
52
start)
53
	log_daemon_msg "Starting $DESC" "$NAME"
54
	do_start
55
	case "$?" in
56
		0|1) log_end_msg 0 ;;
57
		2) log_end_msg 1 ;;
58
	esac
59
;;
60
stop)
61
	log_daemon_msg "Stopping $DESC" "$NAME"
62
	do_stop
63
	case "$?" in
64
		0|1) log_end_msg 0 ;;
65
		2) log_end_msg 1 ;;
66
	esac
67
;;
68
status)   
69
	status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
70
;;
71
restart|force-reload)
72
	log_daemon_msg "Restarting $DESC" "$NAME"
73
	do_stop
74
	case "$?" in
75
	0|1)
76
		do_start
77
		case "$?" in
78
			0) log_end_msg 0 ;;
79
			1) log_end_msg 1 ;; # Old process is still running
80
			*) log_end_msg 1 ;; # Failed to start
81
		esac
82
	;;
83
	*)
84
		# Failed to stop
85
		log_end_msg 1
86
	;;
87
	esac   
88
;;
89
*)
90
	echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
91
	exit 3
92
;;
93
esac