#!/bin/sh

### BEGIN INIT INFO
# Provides:          openstack-nova-compute
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Should-Start:      rabbitmq-server redis
# Default-Start:     3 5
# Default-Stop:      0 1 2 6
# Short-Description: Nova compute server
# Description:       Nova compute server.
### END INIT INFO

name="compute"
USER="nova"
GROUP="nobody"
FLAGFILE="/etc/nova/nova-$name.conf"
PIDFILE="/var/run/nova/$name.pid"

[ -e "/etc/sysconfig/openstack-nova-$name" ] && . "/etc/sysconfig/openstack-nova-$name"

uid="$(getent passwd $USER | cut -f3 -d:)"
gid="$(getent passwd $GROUP | cut -f4 -d:)"
DAEMON_OPTIONS="--flagfile=$FLAGFILE --pidfile=$PIDFILE"
OPTIONS="${OPTIONS} $DAEMON_OPTIONS"

# Shell functions sourced from /etc/rc.status:
#      rc_check         check and set local and overall rc status
#      rc_status        check and set local and overall rc status
#      rc_status -v     be verbose in local rc status and clear it afterwards
#      rc_status -v -r  ditto and clear both the local and overall rc status
#      rc_status -s     display "skipped" and exit with status 3
#      rc_status -u     display "unused" and exit with status 3
#      rc_failed        set local and overall rc status to failed
#      rc_failed <num>  set local and overall rc status to <num>
#      rc_reset         clear both the local and overall rc status
#      rc_exit          exit appropriate to overall rc status
#      rc_active        checks whether a service is activated by symlinks
. /etc/rc.status

FULLNAME="OpenStack::Nova $name server"

case "$1" in
    start)
	echo -n "Starting $FULLNAME"        
	/usr/bin/nova-$name $OPTIONS start
        rc_status -v
        ;;
    stop)
	echo -n "Shutting down $FULLNAME"
        /usr/bin/nova-$name $OPTIONS stop
        rc_status -v
        ;;
    restart)
        $0 stop
	$0 start
	rc_status
        ;;
    reload)
        ;;
    status)
        echo -n "Checking $FULLNAME"
	/sbin/checkproc -p $PIDFILE /usr/bin/nova-$name
	rc_status -v
        ;;
    condrestart|try-restart)
        $0 restart
        ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart}"
        exit 2
esac
exit $?
