David Moreau Simard

2 minute read

With Ubuntu’s Trusty Tahr imminent release, I’ve been poking around to see what changes there are and how they could have an impact on the work I do.

A change I quickly noticed is that when you install the puppet package, the puppet agent now starts by default but will be administratively disabled.
This comes from a change in upstream with a commit by the Debian maintainers.

You can see that in the postinst, they disable the agent:

configure)
    if [ -z "$2" ]; then
        # Fresh install, puppet agent is disabled by default.
        puppet agent --disable \
            'Disabled by default on new installations'
    fi
;;  

The /etc/default/puppet file no longer exists but is still sourced by the puppet init script.
The init script no longer honors the “start” variable which previously allowed you to prevent puppet agent from running at all.

In 12.04:

start_puppet_agent() {
    if is_true "$START" ; then
        start-stop-daemon --start --quiet --pidfile $PIDFILE \
          --startas $DAEMON -- $NAME $DAEMON_OPTS
    else
        echo ""
        echo "puppet not configured to start, please edit /etc/default/puppet to enable"
    fi
}

In 14.04:

start_puppet_agent() {
    start-stop-daemon --start --quiet --pidfile $PIDFILE \
        --startas $DAEMON -- $NAME $DAEMON_OPTS
}

It kind of bothers me that the puppet agent process is now meant to be always running, albeit administratively disabled. On some servers, my puppet configuration uses a puppetmaster but I don’t have the agent running. I will manually trigger a puppet run with puppet agent -t.

I guess this means we will need to prevent puppet from starting with update-rc.d -f puppet remove. I’ll have to admit, this is probably consistent and standard with the rest of the daemons.