#!/bin/sh
# chkconfig: - 98 10
# 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


USR_SBIN=/usr/sbin
PIDFILE=/var/run/rebootmgr.pid

VSERVERS_ROOT=/vservers

if [ -r /etc/vservers.conf ] ; then
    . /etc/vservers.conf
fi

export VSERVERS_ROOT

# See how we were called.
case "$1" in
  start)
	echo -n "Starting the reboot manager: "
	if [ ! -e "$PIDFILE" ] ; then
	    cd /etc/vservers
	    VSERVERS=
	    for serv in *.conf ; do
		serv=`basename $serv .conf`
		if [ -d $VSERVERS_ROOT/$serv ] ; then
		    VSERVERS="$VSERVERS $serv"
		fi
	    done
	    $USR_SBIN/rebootmgr --pidfile $PIDFILE $VSERVERS &
	    touch /var/lock/subsys/rebootmgr
	    echo "rebootmgr."
	else
	    echo "already started."
	fi
	;;
  stop)
	echo -n "Stopping the reboot manager: "
	if [ -s "$PIDFILE" ] ; then
	    kill `cat $PIDFILE`
	    rm -f /var/lock/subsys/rebootmgr
	    rm -f $PIDFILE
	    echo "rebootmgr."
	else
	    echo "already stopped."
	fi
	;;
  restart)
	$0 stop
	$0 start
	;;
  reload)
	echo Not implemented
	;;
  force-reload)
  	$0 restart
	;;
  status)
	if [ -f $PIDFILE ] ; then
		if kill -0 `cat $PIDFILE`
		then
			echo rebootmgr is running
		else
			echo rebootmgr is NOT running
		fi
	fi
	;;
  *)
	echo "Usage: rebootmgr {start|stop|restart|reload|status}"
	exit 1
esac

exit 0





