summaryrefslogtreecommitdiffstats
path: root/conf/suse/server.init
diff options
context:
space:
mode:
Diffstat (limited to 'conf/suse/server.init')
-rw-r--r--conf/suse/server.init151
1 files changed, 151 insertions, 0 deletions
diff --git a/conf/suse/server.init b/conf/suse/server.init
new file mode 100644
index 000000000..aedb0c7c8
--- /dev/null
+++ b/conf/suse/server.init
@@ -0,0 +1,151 @@
+#!/bin/bash
+# puppetmaster This shell script enables the puppetmaster server.
+#
+# Author: Duane Griffin <d.griffin@psenterprise.com>
+# Martin Vuk <martin.vuk@fri.uni-lj.si> (SuSE support)
+#
+# chkconfig: - 65 45
+#
+# description: Server for the puppet system management tool.
+# processname: puppetmaster
+
+# Shell functions sourced from /etc/rc.status:
+# rc_check check and set local and overall rc status
+# rc_status check and set local and overall rc status
+# rc_status -v ditto but be verbose in local rc status
+# rc_status -v -r ditto and clear the local rc status
+# rc_failed set local and overall rc status to failed
+# rc_reset clear local rc status (overall remains)
+# rc_exit exit appropriate to overall rc status
+
+lockfile=/var/lock/subsys/puppetmaster
+pidfile=/var/run/puppet/puppetmasterd.pid
+
+# Source function library.
+[ -f /etc/rc.status ] && . /etc/rc.status
+
+if [ -f /etc/sysconfig/puppetmaster ]; then
+ . /etc/sysconfig/puppetmaster
+fi
+
+[ -z "$PUPPETMASTER_MANIFEST" ] && PUPPETMASTER_MANIFEST=/etc/puppet/manifests/site.pp
+[ -z "$PUPPETMASTER_LOG" ] && PUPPETMASTER_LOG="/var/log/puppet/puppetmaster.log"
+PUPPETMASTER_OPTS="
+ --manifest=$PUPPETMASTER_MANIFEST \
+ --logdest=${PUPPETMASTER_LOG} \
+ ${PUPPETMASTER_EXTRA_OPTS}"
+PUPPET_OPTS=""
+[ -n "${PUPPET_SERVER}" ] && PUPPET_OPTS="--server=${PUPPET_SERVER}"
+[ -n "$PUPPET_LOG" ] && PUPPET_OPTS="${PUPPET_OPTS} --logdest=${PUPPET_LOG}"
+[ -n "$PUPPET_PORT" ] && PUPPET_OPTS="${PUPPET_OPTS} --port=${PUPPET_PORT}"
+
+prog=puppetmasterd
+PUPPETMASTER=/usr/sbin/$prog
+
+start() {
+ echo -n $"Starting puppetmaster: "
+
+ echo
+ return $RETVAL
+}
+# First reset status of this service
+rc_reset
+
+# Return values acc. to LSB for all commands but status:
+# 0 - success
+# 1 - misc error
+# 2 - invalid or excess args
+# 3 - unimplemented feature (e.g. reload)
+# 4 - insufficient privilege
+# 5 - program not installed
+# 6 - program not configured
+#
+# Note that starting an already running service, stopping
+# or restarting a not-running service as well as the restart
+# with force-reload (in case signalling is not supported) are
+# considered a success.
+
+case "$1" in
+ start)
+ echo -n "Starting puppetmaster services."
+ ## Start daemon with startproc(8). If this fails
+ ## the echo return value is set appropriate.
+
+ # startproc should return 0, even if service is
+ # already running to match LSB spec.
+ # Confirm the manifest exists
+ if [ -r $PUPPETMASTER_MANIFEST ]; then
+ startproc $PUPPETMASTER $PUPPETMASTER_OPTS && touch "$lockfile"
+ else
+ rc_failed
+ echo "Manifest does not exist: $PUPPETMASTER_MANIFEST"
+ fi
+ # Remember status and be verbose
+ rc_status -v
+ ;;
+ stop)
+ echo -n "Shutting down puppetmaster:"
+ ## Stop daemon with killproc(8) and if this fails
+ ## set echo the echo return value.
+
+ killproc -QUIT $PUPPETMASTER && rm -f ${lockfile} ${pidfile}
+
+ # Remember status and be verbose
+ rc_status -v
+ ;;
+ try-restart)
+ ## Stop the service and if this succeeds (i.e. the
+ ## service was running before), start it again.
+ $0 status >/dev/null && $0 restart
+
+ # Remember status and be quiet
+ rc_status
+ ;;
+ restart)
+ ## Stop the service and regardless of whether it was
+ ## running or not, start it again.
+ $0 stop
+ $0 start
+
+ # Remember status and be quiet
+ rc_status
+ ;;
+ force-reload)
+ ## Signal the daemon to reload its config. Most daemons
+ ## do this on signal 1 (SIGHUP).
+ ## If it does not support it, restart.
+
+ echo -n "Reload service puppet"
+ ## if it supports it:
+ killproc -HUP $PUPPETMASTER
+ rc_status -v
+ ;;
+ reload)
+ ## Like force-reload, but if daemon does not support
+ ## signalling, do nothing (!)
+
+ # If it supports signalling:
+ echo -n "Reload puppet services."
+ killproc -HUP $PUPPETMASTER
+ rc_status -v
+ ;;
+ status)
+ echo -n "Checking for service puppetmaster: "
+ ## Check status with checkproc(8), if process is running
+ ## checkproc will return with exit status 0.
+
+ # Status has a slightly different for the status command:
+ # 0 - service running
+ # 1 - service dead, but /var/run/ pid file exists
+ # 2 - service dead, but /var/lock/ lock file exists
+ # 3 - service not running
+
+ # NOTE: checkproc returns LSB compliant status values.
+ checkproc $PUPPETMASTER
+ rc_status -v
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload}"
+ exit 1
+esac
+rc_exit