mirror of
https://github.com/valitydev/salt.git
synced 2024-11-07 17:09:03 +00:00
f72aa06d54
Improved salt init files to match fedora package These could be merged into one. replaced service files for symlinks to match fedora package added README.suse to reflect package names for addition python modules
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
|