656cd1e4a1
Updated to salt 0.16.0 release candidate Major improvements in salt-master features. Improved init and removed salt user in favor for root to be consistent with other distro packages. Init files are now cross distribution and based on upstream. (forwarded request 180523 from aboe76) OBS-URL: https://build.opensuse.org/request/show/180524 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/salt?expand=0&rev=5
148 lines
3.4 KiB
Bash
148 lines
3.4 KiB
Bash
#!/bin/sh
|
|
#
|
|
# Salt minion
|
|
###################################
|
|
|
|
# LSB header
|
|
|
|
### BEGIN INIT INFO
|
|
# 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.
|
|
### END INIT INFO
|
|
|
|
|
|
# chkconfig header
|
|
|
|
# chkconfig: 345 97 04
|
|
# description: This is the Salt minion daemon that can be controlled by the Salt master.
|
|
#
|
|
# processname: /usr/bin/salt-minion
|
|
|
|
|
|
if [ -f /etc/default/salt ]; then
|
|
. /etc/default/salt
|
|
else
|
|
SALTMINION=/usr/bin/salt-minion
|
|
PYTHON=/usr/bin/python
|
|
fi
|
|
|
|
# Sanity checks.
|
|
[ -x $SALTMINION ] || 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-minion
|
|
PROCESS=salt-minion
|
|
CONFIG_ARGS=" "
|
|
|
|
RETVAL=0
|
|
|
|
start() {
|
|
echo -n $"Starting salt-minion daemon: "
|
|
if [ -f $SUSE_RELEASE ]; then
|
|
startproc -f -p /var/run/$SERVICE.pid $SALTMINION -d $CONFIG_ARGS
|
|
rc_status -v
|
|
elif [ -e $DEBIAN_VERSION ]; then
|
|
if [ -f $LOCKFILE ]; then
|
|
echo -n "already started, lock file found"
|
|
RETVAL=1
|
|
elif $PYTHON $SALTMINION -d >& /dev/null; then
|
|
echo -n "OK"
|
|
RETVAL=0
|
|
fi
|
|
else
|
|
if [ $(pidofproc $PROCESS) ]; then
|
|
RETVAL=$?
|
|
echo -n "already running"
|
|
else
|
|
daemon --check $SERVICE $SALTMINION -d $CONFIG_ARGS
|
|
RETVAL=$?
|
|
fi
|
|
fi
|
|
echo
|
|
return $RETVAL
|
|
}
|
|
|
|
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
|
|
}
|
|
|
|
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-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"
|
|
if [ -f $SUSE_RELEASE ]; then
|
|
rc status -v
|
|
else
|
|
RETVAL=$?
|
|
fi
|
|
;;
|
|
*)
|
|
echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
|
|
exit 1
|
|
;;
|
|
esac
|
|
exit $RETVAL
|