#!/bin/sh # # Salt syndic ################################### # LSB header ### BEGIN INIT INFO # Provides: salt-syndic # Required-Start: $remote_fs $network # Required-Stop: $remote_fs $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: salt syndic master-minion passthrough daemon # Description: This is a daemon that controls the salt syndic ### END INIT INFO # chkconfig header # chkconfig: 2345 99 01 # description: This is a daemon that controls the salt mininons # # processname: /usr/bin/salt-syndic # Sanity checks. [ -x /usr/bin/salt-syndic ] || exit 0 DEBIAN_VERSION=/etc/debian_version SUSE_RELEASE=/etc/SuSE-release # Source function library. if [ -f $DEBIAN_VERSION ]; then break elif [ -f $SUSE_RELEASE -a -r /etc/rc.status ]; then . /etc/rc.status else . /etc/rc.d/init.d/functions fi SERVICE=salt-syndic PROCESS=salt-syndic CONFIG_ARGS=" " PS_CMD="ps -e -o pid,args" PROC_LIST="" RETVAL=0 findproc() { PROC_LIST=`$PS_CMD | grep 'bin/python.*salt-syndic' | grep -v grep | grep -v sh | grep -v vi | awk '{ print $1 }'` } start() { echo -n "Starting salt-syndic daemon: " if [ -f $SUSE_RELEASE ]; then startproc -f -p /var/run/$SERVICE.pid /usr/bin/salt-syndic -d $CONFIG_ARGS rc_status -v elif [ -e $DEBIAN_VERSION ]; then findproc if [ -n "$PROC_LIST" ]; then echo -n "already started, lock file found" RETVAL=1 elif /usr/bin/python /usr/bin/salt-syndic -d; then echo -n "OK" RETVAL=0 fi else daemon --check $SERVICE $PROCESS -d $CONFIG_ARGS fi RETVAL=$? echo return $RETVAL } stop() { echo -n "Stopping salt-syndic daemon: " if [ -f $SUSE_RELEASE ]; then killproc -TERM /usr/bin/salt-syndic rc_status -v elif [ -f $DEBIAN_VERSION ]; then # Added this since Debian's start-stop-daemon doesn't support spawned processes findproc if echo $PROC_LIST | xargs kill >/dev/null 2>&1 ; then echo -n "OK" RETVAL=0 else echo -n "Daemon is not started" RETVAL=1 fi else killproc $PROCESS fi RETVAL=$? echo } restart() { stop start } # See how we were called. case "$1" in start|stop|restart) $1 ;; status) if [ -f $SUSE_RELEASE ]; then echo -n "Checking for service salt-syndic " checkproc /usr/bin/salt-syndic rc_status -v elif [ -f $DEBIAN_VERSION ]; then findproc if [ -n "$PROC_LIST" ]; then RETVAL=0 echo "salt-syndic is running." else RETVAL=1 echo "salt-syndic is stopped." fi else status $PROCESS RETVAL=$? fi ;; reload|force-reload) echo "Can't reload configuration, you have to restart it" RETVAL=$? ;; *) echo "Usage: $0 {start|stop|status|restart|reload|force-reload}" exit 1 ;; esac exit $RETVAL