| #!/sbin/openrc-run |
| # 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} |
| } |