#!/bin/sh
# chkconfig: - 98 02
# description: The rebootmgr service is monitoring all virtual servers \
#              and restart them as need. Virtual servers are using \
#              the /sbin/vreboot command to talk with the reboot manager
# processname: rebootmgr
# config: /etc/vservers

. /etc/init.d/functions

[ -n "$UTIL_VSERVER_VARS" ] || UTIL_VSERVER_VARS=/usr/lib/util-vserver/util-vserver-vars
if [ ! -e "$UTIL_VSERVER_VARS" ] ; then
	echo "Can not find util-vserver installation (the file '$UTIL_VSERVER_VARS' would be expected); aborting..." >&2
	exit 1
fi
. "$UTIL_VSERVER_VARS"

# See how we were called.
case "$1" in
    start)
    	if [ ! -f /var/lock/subsys/rebootmgr ] ; then
	    show "Starting the legacy vserver reboot manager"
	    busy
	    cd $__CONFDIR
	    VSERVERS=
	    for serv in *.conf ; do
		[ -f "$serv" ] || continue
		serv=`basename $serv .conf`
		if [ -d $__DEFAULT_VSERVERDIR/$serv ] ; then
		    VSERVERS="$VSERVERS $serv"
		fi
	    done
	    $_REBOOTMGR --pidfile /var/run/rebootmgr.pid $VSERVERS &
	    touch /var/lock/subsys/rebootmgr
	    ok
	else
	    msg_already_running "legacy vserver reboot manager"
	fi
	;;
    stop)
    	if [ -f /var/lock/subsys/rebootmgr ] ; then
	    show "Stopping the legacy vserver reboot manager"
	    busy
	    kill `cat /var/run/rebootmgr.pid`
	    rm -f /var/lock/subsys/rebootmgr
	    rm -f /var/run/rebootmgr.pid
	    ok
	else
	    msg_not_running "legacy vserver reboot manager"
	fi
	;;
    restart)
     	$0 stop
	$0 start
	;;
    status)
    	if [ -f /var/run/rebootmgr.pid ] ; then
	    if kill -0 `cat /var/run/rebootmgr.pid` ; then
		echo rebootmgr is running
	    else
		echo rebootmgr is NOT running
	    fi
	fi
	;;
    *)
	echo "Usage: $0 {start|stop|restart|status}"
	exit 1
esac

exit 0

# This must be last line !
# vi:syntax=sh:tw=78:ts=8:sw=4
