#!/bin/sh # # Salt syndic ################################### # LSB header ### BEGIN INIT INFO # Provides: salt-syndic # Required-Start: $all # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Salt syndic master-minion passthrough daemon # Description: This is a the Salt syndic daemon that enables Salt master-minion # remote control passthrough. ### END INIT INFO # chkconfig header # chkconfig: - 99 99 # description: This is a the Salt syndic daemon that enables Salt master-minion remote control passthrough. # # processname: /usr/bin/salt-syndic 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 # Default values (can be overridden below) SALTSYNDIC=/usr/bin/salt-syndic PYTHON=/usr/bin/python SYNDIC_ARGS="" if [ -f /etc/default/salt ]; then . /etc/default/salt fi SERVICE=salt-syndic PROCESS=salt-syndic RETVAL=0 start() { echo -n $"Starting salt-syndic daemon: " if [ -f $SUSE_RELEASE ]; then startproc -f -p /var/run/$SERVICE.pid $SALTSYNDIC -d $SYNDIC_ARGS rc_status -v elif [ -e $DEBIAN_VERSION ]; then if [ -f $LOCKFILE ]; then echo -n "already started, lock file found" RETVAL=1 elif $PYTHON $SALTSYNDIC -d $SYNDIC_ARGS >& /dev/null; then echo -n "OK" RETVAL=0 fi else daemon --check $SERVICE $SALTSYNDIC -d $SYNDIC_ARGS RETVAL=$? [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$SERVICE echo return $RETVAL fi RETVAL=$? echo return $RETVAL } stop() { echo -n $"Stopping salt-syndic daemon: " if [ -f $SUSE_RELEASE ]; then killproc -TERM $SALTSYNDIC rc_status -v elif [ -f $DEBIAN_VERSION ]; then # Added this since Debian's start-stop-daemon doesn't support spawned processes if ps -ef | grep "$PYTHON $SALTSYNDIC" | grep -v grep | awk '{print $2}' | xargs kill &> /dev/null; then echo -n "OK" RETVAL=0 else echo -n "Daemon is not started" RETVAL=1 fi else killproc -d 10 $PROCESS RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$SERVICE return $RETVAL 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 $SALTSYNDIC rc_status -v elif [ -f $DEBIAN_VERSION ]; then if [ -f $LOCKFILE ]; then RETVAL=0 echo "salt-syndic is running." else RETVAL=1 echo "salt-syndic is stopped." fi else status $PROCESS RETVAL=$? fi ;; *) echo $"Usage: $0 {start|stop|status|restart}" exit 1 ;; esac exit $RETVAL