Could puppet agent service starting at boot time interfere with init/upstart/systemd?

asked 2016-01-21 20:51:57 -0600

Joi Owen gravatar image

I installed puppet 3.8 from the puppetlabs apt repo on 9 mixed Ubuntu 12.04 hosts and Ubuntu 14.04 hosts. There is a puppet master on Ubuntu 12.04.

I've been debugging a custom puppet module my predecessor created, and something I encountered makes me ask this question regarding puppet agent from puppet 3.8 on Ubuntu 14.04 clients:

The puppet agent is setup to start as a daemon, and its init script is S03, putting it very early in the boot process, and well before some other services which puppet agent will be responsible for monitoring after boot is completed. What is to keep puppet agent from taking over during the boot process and starting services before systemd/init/upstart/whatever has finished the actual boot process?

I saw some logs the other day that make me think agent did, in fact, forcibly start bind9 before Upstart got to it, and it caused issues with another package that has to start before bind9 does, and which puppet isn't looking for (yet.) I worked around it by moving puppet agent (using update-rc.d) to start nearly last at boot, not nearly first, and the next boot worked as I expected it to. This manual work around won't last for long, as I'm pretty sure the next time some package runs insserv, it will undo my manual change and reinstall the puppet package default boot order and I'll be back where I started.

I've looked around for any discussion about controlling agent at boot, but I haven't found any. Either I'm missing some basic info about puppet agent (entirely possible) or I've just not found the specific keywords for this topic.

Can I have some guidance, please?

edit retag flag offensive close merge delete