salt/pkg/suse/salt-minion

143 lines
3.3 KiB
Plaintext
Raw Normal View History

2013-03-24 22:42:08 +00:00
#!/bin/sh
#
# Salt minion
###################################
# LSB header
2013-03-24 22:42:08 +00:00
### BEGIN INIT INFO
2013-10-23 05:50:21 +00:00
# Provides: salt-minion
# Required-Start: $local_fs $remote_fs $network $named $time
# Should-Start: $time ypbind smtp
# Required-Stop: $local_fs $remote_fs $network $named $time
# Should-Stop: ypbind smtp
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Short-Description: Salt minion daemon
# Description: This is the Salt minion daemon that can be controlled by the
# Salt master.
2013-03-24 22:42:08 +00:00
### END INIT INFO
# chkconfig header
# chkconfig: 345 97 04
# description: This is the Salt minion daemon that can be controlled by the Salt master.
2013-03-24 22:42:08 +00:00
#
# processname: /usr/bin/salt-minion
2013-03-24 22:42:08 +00:00
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
2013-03-24 22:42:08 +00:00
2013-10-23 05:50:21 +00:00
# Default values (can be overridden below)
SALTMINION=/usr/bin/salt-minion
PYTHON=/usr/bin/python
MINION_ARGS=""
if [ -f /etc/default/salt ]; then
. /etc/default/salt
fi
SERVICE=salt-minion
PROCESS=salt-minion
2013-03-24 22:42:08 +00:00
RETVAL=0
2013-03-24 22:42:08 +00:00
start() {
echo -n $"Starting salt-minion daemon: "
if [ -f $SUSE_RELEASE ]; then
2013-10-23 05:50:21 +00:00
startproc -f -p /var/run/$SERVICE.pid $SALTMINION -d $MINION_ARGS
rc_status -v
elif [ -e $DEBIAN_VERSION ]; then
if [ -f $LOCKFILE ]; then
echo -n "already started, lock file found"
RETVAL=1
2013-10-23 05:50:21 +00:00
elif $PYTHON $SALTMINION -d $MINION_ARGS >& /dev/null; then
echo -n "OK"
RETVAL=0
fi
else
if [[ $(pidofproc $PROCESS) ]]; then
RETVAL=$?
echo -n "already running"
else
2013-10-23 05:50:21 +00:00
daemon --check $SERVICE $SALTMINION -d $MINION_ARGS
RETVAL=$?
fi
fi
echo
return $RETVAL
}
2013-03-24 22:42:08 +00:00
stop() {
echo -n $"Stopping salt-minion daemon: "
if [ -f $SUSE_RELEASE ]; then
killproc -TERM $SALTMINION
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 $SALTMINION" | 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 $PROCESS
fi
RETVAL=$?
echo
}
2013-03-24 22:42:08 +00:00
restart() {
stop
start
}
2013-03-24 22:42:08 +00:00
# See how we were called.
case "$1" in
start|stop|restart)
$1
;;
2013-03-24 22:42:08 +00:00
status)
if [ -f $SUSE_RELEASE ]; then
echo -n "Checking for service salt-minion "
checkproc $SALTMINION
rc_status -v
elif [ -f $DEBIAN_VERSION ]; then
if [ -f $LOCKFILE ]; then
RETVAL=0
echo "salt-minion is running."
else
RETVAL=1
echo "salt-minion is stopped."
fi
else
status $PROCESS
RETVAL=$?
fi
;;
condrestart)
[ -f $LOCKFILE ] && restart || :
;;
reload)
echo "can't reload configuration, you have to restart it"
RETVAL=1
;;
2013-03-24 22:42:08 +00:00
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
exit 1
;;
2013-03-24 22:42:08 +00:00
esac
exit $RETVAL