diff options
Diffstat (limited to 'app-admin/puppet/files/puppet.init')
-rwxr-xr-x | app-admin/puppet/files/puppet.init | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/app-admin/puppet/files/puppet.init b/app-admin/puppet/files/puppet.init new file mode 100755 index 00000000000..5f15aeaa021 --- /dev/null +++ b/app-admin/puppet/files/puppet.init @@ -0,0 +1,40 @@ +#!/sbin/runscript +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need localmount net + use dns logger puppetmaster netmount nfsmount +} + +checkconfig() { + if [ ! -d "${PUPPET_PID_DIR}" ] ; then + eerror "Please make sure PUPPET_PID_DIR is defined and points to a existing directory" + return 1 + fi + + return 0 +} + +start() { + checkconfig || return $? + + local options="" + [ -n "${PUPPET_EXTRA_OPTS}" ] && options="${options} ${PUPPET_EXTRA_OPTS}" + + ebegin "Starting puppet" + start-stop-daemon --start --quiet \ + --pidfile "${PUPPET_PID_DIR}/agent.pid" \ + --exec /usr/bin/puppetd -- ${options} + eend $? "Failed to start puppet" +} + +stop() { + ebegin "Stopping puppet" + start-stop-daemon --stop --quiet \ + --pidfile "${PUPPET_PID_DIR}/agent.pid" + local ret=$? + eend ${ret} "Failed to stop puppet" + rm -f "${PUPPET_PID_DIR}/agent.pid" + return ${ret} +} |