SHA256
1
0
forked from pool/salt
salt/salt-master
Stephan Kulow 656cd1e4a1 Accepting request 180524 from devel:languages:python
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
2013-06-25 07:35:45 +00:00

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