File openstack-ceilometer.init of Package openstack-ceilometer

#!/bin/sh

### BEGIN INIT INFO
# Provides:          openstack-ceilometer-__NAME__
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Should-Start:      mysql postgresql mongodb openstack-nova-compute rabbitmq-server
# Should-Stop:       mysql postgresql mongodb openstack-nova-compute rabbitmq-server
# Default-Start:     3 5
# Default-Stop:      0 1 2 6
# Short-Description: OpenStack Metering (Ceilometer) - __NAME__
# Description:       OpenStack Metering (Ceilometer) - __NAME__
### END INIT INFO

DAEMON="__NAME__"
USER="ceilometer"
CONFFILE="/etc/ceilometer/ceilometer.conf"
RUNDIR="/var/run/ceilometer"
PIDFILE="/var/run/ceilometer-$DAEMON.pid"
LOGFILE="/var/log/ceilometer/$DAEMON.log"

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

pidofproc() {
    local procname=$1
    for p in $(/sbin/pidofproc $procname); do
       grep -qP "\x0$procname\x0" /proc/$p/cmdline && break
    done
    echo $p
}

. /etc/rc.status

case "$1" in
    start)
        if [ "$DAEMON" == "api" ]; then
            echo -n "Checking DB Migrations for ceilometer"
            su $USER -s /bin/sh -c "ceilometer-dbsync --config-file=$CONFFILE" > /dev/null
            rc_status -v
        fi

	echo -n "Starting ceilometer-$DAEMON"
	/sbin/startproc -s -p $PIDFILE -u $USER -t ${STARTUP_TIMEOUT:-5} -q /usr/bin/ceilometer-$DAEMON --config-file=$CONFFILE --logfile=$LOGFILE
        echo $(pidofproc /usr/bin/ceilometer-$DAEMON) > $PIDFILE
        rc_status -v
        ;;
    stop)
	echo -n "Shutting down ceilometer-$DAEMON"
	/sbin/killproc -p $PIDFILE /usr/bin/ceilometer-$DAEMON
        rc_status -v
        ;;
    restart)
        $0 stop
	$0 start
	rc_status
        ;;
    reload)
        ;;
    status)
        echo -n "Checking ceilometer-$DAEMON"
	/sbin/checkproc -p $PIDFILE /usr/bin/ceilometer-$DAEMON
	rc_status -v
        ;;
    condrestart|try-restart)
	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
	;;
    *)
        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart}"
        exit 2
esac
exit $?
openSUSE Build Service is sponsored by