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
145 lines
3.3 KiB
Bash
145 lines
3.3 KiB
Bash
#!/bin/sh
|
|
#
|
|
# Salt master
|
|
###################################
|
|
|
|
# LSB header
|
|
|
|
### BEGIN INIT INFO
|
|
# Provides: salt-master
|
|
# 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 master control daemon
|
|
# Description: This is a daemon that controls the Salt minions.
|
|
### END INIT INFO
|
|
|
|
|
|
# chkconfig header
|
|
|
|
# chkconfig: 345 96 05
|
|
# description: This is a daemon that controls the Salt minions
|
|
#
|
|
# processname: /usr/bin/salt-master
|
|
|
|
|
|
if [ -f /etc/default/salt ]; then
|
|
. /etc/default/salt
|
|
else
|
|
SALTMASTER=/usr/bin/salt-master
|
|
PYTHON=/usr/bin/python
|
|
fi
|
|
|
|
# Sanity checks.
|
|
[ -x $SALTMASTER ] || 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-master
|
|
PROCESS=salt-master
|
|
CONFIG_ARGS=" "
|
|
|
|
RETVAL=0
|
|
|
|
start() {
|
|
echo -n $"Starting salt-master daemon: "
|
|
if [ -f $SUSE_RELEASE ]; then
|
|
startproc -f -p /var/run/$SERVICE.pid $SALTMASTER -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 $SALTMASTER -d >& /dev/null; then
|
|
echo -n "OK"
|
|
RETVAL=0
|
|
fi
|
|
else
|
|
daemon --check $SERVICE $SALTMASTER -d $CONFIG_ARGS
|
|
fi
|
|
RETVAL=$?
|
|
echo
|
|
return $RETVAL
|
|
}
|
|
|
|
stop() {
|
|
echo -n $"Stopping salt-master daemon: "
|
|
if [ -f $SUSE_RELEASE ]; then
|
|
killproc -TERM $SALTMASTER
|
|
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 $SALTMASTER" | 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-master "
|
|
checkproc $SALTMASTER
|
|
rc_status -v
|
|
elif [ -f $DEBIAN_VERSION ]; then
|
|
if [ -f $LOCKFILE ]; then
|
|
RETVAL=0
|
|
echo "salt-master is running."
|
|
else
|
|
RETVAL=1
|
|
echo "salt-master 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
|
|
|