#!/bin/bash # # autotestd Start up the autotest scheduler daemon # # Copyright 2009 Red Hat, Inc. # # This software may be freely redistributed under the terms of the GNU # general public license. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # # chkconfig: - 65 25 # description: Autotest is a framework for fully automated testing. # processname: monitor_db.py # pidfile: /var/run/autotest/monitor_db_babysitter.pid # ### BEGIN INIT INFO # Provides: autotest # Required-Start: $syslog $local_fs # Required-Stop: $syslog $local_fs # Default-Stop: 0 1 6 # Short-Description: Start the autotest scheduler daemon # Description: Autotest is a framework for fully automated testing. ### END INIT INFO # source function library . /etc/rc.d/init.d/functions # pull in sysconfig settings [ -f /etc/sysconfig/autotest ] && . /etc/sysconfig/autotest PROG="autotest" BECOME_USER=$PROG LOCKFILE=/var/lock/subsys/$PROG # Autotest paths AUTOTEST_DIR="/usr/local/$PROG" BABYSITTER="$AUTOTEST_DIR/scheduler/monitor_db_babysitter" SCHEDULER="$AUTOTEST_DIR/scheduler/monitor_db.py" # Scheduler options OPTIONS="--background" # Where to locate PID files PID_PATH="$AUTOTEST_DIR" # "/var/run/$PROG" BABYSITTER_PIDFILE="$PID_PATH/monitor_db_babysitter.pid" SCHEDULER_PIDFILE="$PID_PATH/monitor_db.pid" # Assume pass RETVAL=0 start() { [ -f $BABYSITTER ] || exit 5 echo -n $"Starting $PROG: " daemon --user $BECOME_USER --check $PROG $BABYSITTER $OPTIONS RETVAL=$? echo [ "$RETVAL" = 0 ] && touch $LOCKFILE return $RETVAL } stop() { echo -n $"Stopping $PROG: " killproc $BABYSITTER RETVAL=$? echo if [ "$RETVAL" = 0 ]; then rm -f $LOCKFILE rm -f $BABYSITTER_PIDFILE rm -f $SCHEDULER_PIDFILE fi return $RETVAL } reload() { echo -n $"Reloading $PROG: " killproc -p $BABYSITTER_PIDFILE $PROG -HUP RETVAL=$? echo return $RETVAL } restart() { stop start } force_reload() { restart } case "$1" in start) start ;; stop) stop ;; restart) restart ;; reload) reload ;; condrestart|try-restart) if [ -f $LOCKFILE ] ; then if [ "$RETVAL" = 0 ] ; then stop # avoid race sleep 3 start else RETVAL=6 fi fi ;; status) # status -p $PIDFILE $PROG status $BABYSITTER status $SCHEDULER RETVAL=$? ;; *) echo $"Usage: $0 {start|stop|restart|reload|condrestart|try-restart|status}" RETVAL=2 esac exit $RETVAL