File openstack-keystone.init of Package openstack-keystone

#!/bin/bash
#
# keystone	OpenStack Nova Compute Worker
#
# chkconfig: 2345 96 04
# description: Compute workers manage computing instances on host  \
#               machines. Through the API, commands are dispatched \
#               to compute workers to:                             \
#               * Run instances                                    \
#               * Terminate instances                              \
#               * Reboot instances                                 \
#               * Attach volumes                                   \
#               * Detach volumes                                   \
#               * Get console output
#
# config: /etc/keystone/keystone.conf
# pidfile: /var/run/keystone/keystone.pid

### BEGIN INIT INFO
# Provides: openstack-keystone
# Required-Start: $local_fs $network $syslog
# Required-Stop: $local_fs $syslog
# Should-Start: $syslog
# Should-Stop: $network $syslog
# Default-Start: 3 4 5
# Default-Stop: 0 2 1 6
# Short-Description: OpenStack Nova Compute Worker
# Description: TODO!
### END INIT INFO

# Source function library.
. /etc/init.d/functions

prog="OpenStack Keystone"
suffix="compute"
flgfile=/etc/keystone/keystone.conf
logfile=/var/log/keystone/keystone.log
pidfile=/var/run/keystone/keystone.pid
lckfile=/var/lock/subsys/openstack-keystone
binfile=/usr/bin/keystone

start() {
	if [ -f "$pidfile" ]; then
		pid=`cat $pidfile`
		checkpid $pid
		r=$?
		if [ "$r" -eq 0 ]; then
			cmd=$(basename $binfile)
			echo -n "$cmd is already running (pid $pid)"; passed
			echo
			exit 0
		fi
	fi
	echo -n "Starting $prog: "
	cd /var/lib/keystone
	/sbin/start-stop-daemon --start -b -c keystone:nobody --make-pidfile --pidfile $pidfile  --exec /usr/bin/keystone -- --config-file=$flgfile --log-file=$logfile
	sleep 1
	if [ -f "$pidfile" ]; then
		checkpid `cat $pidfile`
		r=$?
		if [ "$r" -eq 0 ]; then
			touch $lckfile
			success
		else
			failure
		fi
	else
		failure
	fi
	echo
	return
}	

stop() {
	echo -n "Stopping $prog: "
	if [ -n "`pidofproc -p $pidfile $binfile`" ] ; then
		killproc -p $pidfile $binfile
	else
		failure $"Stopping $prog"
	fi
	retval=$?
	[ $retval -eq 0 ] && rm -f $lckfile
	echo
	return $retval
}

rh_status() {
	status -p $pidfile $binfile
}

restart() {
	stop
	start
}

case "$1" in
    start)
	start
	;;
    stop)
	stop
	;;
    status)
	rh_status
	retval=$?
	if [ $retval -eq 3 -a -f $lckfile ] ; then
		retval=2
	fi
	;;
    restart)
	restart
	;;
    condrestart)
	if [ -n "`pidofproc -p $pidfile $binfile`" ] ; then
		restart
	fi
	;;
    *)
	echo "Usage: service openstack-keystone {start|stop|status|restart|condrestart}"
	exit 1
	;;
esac
exit $?
openSUSE Build Service is sponsored by