File openstack-heat.init of Package openstack-heat

#!/bin/sh

### BEGIN INIT INFO
# Provides:          openstack-heat-__NAME__
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Should-Start:      mysql postgresql rabbitmq-server
# Should-Stop:       mysql postgresql rabbitmq-server
# Default-Start:     3 5
# Default-Stop:      0 1 2 6
# Short-Description: OpenStack Orchestration (Heat) - __NAME__
# Description:       OpenStack Orchestration (Heat) - __NAME__
### END INIT INFO

DAEMON="__NAME__"
USER="openstack-heat"
CONFIGFILE="/etc/heat/heat.conf"
RUNDIR="/var/run/heat"

# $RUNDIR can be tmpfs, thus we have to create/own it here:
mkdir -p $RUNDIR && chown $USER. $RUNDIR

. /etc/rc.status

case "$1" in
    start)
        if [ "$DAEMON" = "engine" ]; then
            echo -n "Checking for DB Migrations"
            su $USER -s /bin/sh -c "heat-manage --config-file $CONFIGFILE db_sync"
            rc_status -v
        fi
        echo -n "Starting heat-$DAEMON"
	/sbin/startproc -q -s -u $USER /usr/bin/heat-$DAEMON --config-file=$CONFIGFILE
        rc_status -v
        ;;
    stop)
	echo -n "Shutting down heat-$DAEMON"
	/sbin/killproc /usr/bin/heat-$DAEMON
        rc_status -v
        ;;
    restart)
        $0 stop
	$0 start
	rc_status
        ;;
    force-reload)
        $0 try-restart
        rc_status
        ;;
    reload)
        echo -n "Reload service heat-$DAEMON"
        rc_failed 3
        rc_status -v
        ;;
    status)
        echo -n "Checking for service heat-$DAEMON"
	/sbin/checkproc /usr/bin/heat-$DAEMON
	rc_status -v
        ;;
    try-restart|condrestart)
        if test "$1" = "condrestart"; then
            echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}"
        fi
        $0 status
        if test $? = 0; then
            $0 restart
        else
            rc_reset # Not running is not a failure.
        fi
        rc_status # Remember status and be quiet
        ;;
    *)
        echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload}"
        exit 1
        ;;
esac
rc_exit
openSUSE Build Service is sponsored by