All pastes #963459 Raw Edit

Stuff

public text v1 · immutable
#963459 ·published 2008-03-30 16:16 UTC
rendered paste body
$ cat /etc/init.d/puppetmaster
#!/sbin/runscript
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

depend() {
        need net
        before puppet
        use dns logger
}

PORTS=( 18140 18141 18142 18143)

checkconfig() {
        if [[ ! -d "${PUPPETMASTER_PID_DIR}" ]] ; then
                eerror "Please make sure PUPPETMASTER_PID_DIR is defined and points to a existing directory"
                return 1
        fi

        local site_manifest="/etc/puppet/manifests/site.pp"
        [[ -n "${PUPPETMASTER_MANIFEST}" ]] && site_manifest="${PUPPETMASTER_MANIFEST}"

        if [ ! -f "${site_manifest}" ] ; then
                eerror "Please create ${site_manifest} before running puppet"
                return 1
        fi

        return 0
}

start() {
        checkconfig || return $?

        local options=""
        [[ -n "${PUPPETMASTER_MANIFEST}" ]]   && options="${options} --manifest=${PUPPETMASTER_MANIFEST}"
        [[ -n "${PUPPETMASTER_LOG}" ]]        && options="${options} --logdest=${PUPPETMASTER_LOG}"
        [[ -n "${PUPPETMASTER_EXTRA_OPTS}" ]] && options="${options} ${PUPPETMASTER_EXTRA_OPTS}"

        for port in $PORTS; do
            ebegin "Starting puppetmaster on port ${port}"
            start-stop-daemon --start --quiet --exec /usr/bin/puppetmasterd \
                --pidfile=${PUPPETMASTER_PID_DIR}/puppetmasterd.${port}.pid \
                -- ${options} \
                --masterport="${port}" \
                --servertype=mongrel
            a=$? || $a
        done
        eend $a "Failed to start puppetmaster"
}