#!/bin/sh
#
### BEGIN INIT INFO
# Provides:          puppetserver
# Required-Start:    $syslog $remote_fs
# Should-Start:      $time ypbind smtp
# Required-Stop:     $syslog $remote_fs
# Should-Stop:       ypbind smtp
# Default-Start:     3 5
# Default-Stop:      0 1 2 6
# Short-Description: puppetserver
# Description:       Start puppetserver daemon placed in /etc/init.d
### END INIT INFO

# Check for existence of needed config file and read it
PUPPETSERVER_CONFIG=/etc/sysconfig/puppetserver
test -r $PUPPETSERVER_CONFIG || { echo "$PUPPETSERVER_CONFIG not existing";
	if [ "$1" = "stop" ]; then exit 0;
	else exit 6; fi; }

# Read config
. $PUPPETSERVER_CONFIG

. /etc/rc.status

# Reset status of this service
rc_reset

PUPPET_JAR="puppet-server-release.jar"
JAVA_ARGS="${JAVA_ARGS} -jar ${INSTALL_DIR}/${JARFILE} --config ${CONFIG} --bootstrap-config ${BOOTSTRAP_CONFIG}"
EXEC="$JAVA_BIN -XX:OnOutOfMemoryError=\"kill -9 %p\" -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/$prog $JAVA_ARGS"
PIDFILE="/var/run/puppetserver/puppetserver.pid"

case "$1" in
    start)
	echo -n "Starting puppetserver "
	/sbin/startproc -s -p $PIDFILE -u $USER $EXEC
	rc_status -v
	;;
    stop)
	echo -n "Shutting down puppetserver"
	/sbin/killproc -TERM -p $PIDFILE
	rc_status -v
	;;
    restart)
	$0 stop
	$0 start
	rc_status
	;;
    reload)
	rc_failed 3
	rc_status -v
	;;
    status)
	echo -n "Checking for service puppetserver "
	/sbin/checkproc -p $PIDFILE
	rc_status -v
	;;
    *)
	echo "Usage: $0 {start|stop|status|restart|reload}"
	exit 1
	;;
esac
rc_exit
