#! /bin/sh
#
# vmware-netdumper       Start/Stop the VMware network core dumper server
#
# chkconfig: 345 80 05
# description: VMware network core dump server
# processname: vmware-netdumper

### BEGIN INIT INFO
# Provides: vmware-netdumper
# Required-Start: $network $local_fs $remote_fs
# Required-Stop: 
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Description: VMware Network Coredump Server
### END INIT INFO

# if the '/etc/profile' file exists source it, since it contains CIS related
# variables that were provided during CIS deployment.
[ -f /etc/profile ] && . /etc/profile

prog="${VMWARE_PYTHON_BIN:-/usr/bin/python} /usr/sbin/vmware-netdumper-watchdog"
prog_shortname="VMware ESXi dump collector"
prog_python="${VMWARE_PYTHON_BIN:-/usr/bin/python}"
RETVAL=0

NETDUMPER_OPTIONS="-d /var/core/netdumps"
[ -f /etc/sysconfig/netdumper ] && . /etc/sysconfig/netdumper

PIDFILE="/var/run/vmware-netdumper/watchdog.pid"

. /etc/rc.status
rc_reset

case "$1" in
    start)
	echo -n "Starting $prog_shortname: "
	# workaround for PR 665296 - mkdir on nfs returns permission denied instead of already exists
	[ -x /usr/bin/stat ] && /usr/bin/stat "$NETDUMPER_DIR" 1>/dev/null 2>&1
	startproc -u netdumper -p $PIDFILE \
	   -f $prog $NETDUMPER_OPTIONS
	rc_status -v
	;;
    stop)
	echo -n "Stopping $prog_shortname: "
	killproc -p $PIDFILE $prog
	MAX_WAIT=60
	attempts=0
	while checkproc -p $PIDFILE $prog && [ "$attempts" -lt "$MAX_WAIT" ] ; do
		attempts=$((attempts+1))
		sleep 1
	done
	rc_status -v
	;;
    restart)
	$0 stop
	$0 start
	rc_status
	;;
    status)
	checkproc -p $PIDFILE $prog_python
	result=$?
	if [ $result -eq 0 ]; then
	    echo "$prog_shortname is running"
	else
	    echo "$prog_shortname is not running"
	fi
	exit $result
	;;
    *)
	echo "usage: $0 {start|stop|restart|status}"
	exit 1
esac

rc_exit
