I'm installing the puppet 2.7.18 agent unattended via the msi as part of an automated windows install. I need to make sure that the first puppet run that happens is on the first 'clean' boot of the freshly provisioned OS, after OS & puppet configuration has been applied, along with the requisite reboots.

It looks like the options passable to the .msi are thin on the ground - is there a way I can install puppet without it starting the service or doing a puppet run until the service starts naturally at first post-provisioning boot?

  • Are you automatically signing the certificates, then? Jun 22, 2013 at 7:09
  • Yes we are - the project goal is to go from VM boot to running services unattended.
    – snoweagle
    Jun 22, 2013 at 19:10
  • So it sounds like the automation is modifying the puppet.conf file after the MSI runs? Jun 22, 2013 at 20:20
  • Yes that's right.
    – snoweagle
    Jun 23, 2013 at 11:13

1 Answer 1


Well, it's a bit of a hacky solution..

Give it an invalid server configuration during the MSI install (with PUPPET_MASTER_SERVER=nonexistant-server.example.com), which will cause it to fail to request a certificate (and try again on the next run).

Then, when you're ready to let it run for real (maybe as the last step before the last reboot?), drop the real puppet.conf in place with the valid server configuration, allowing the node to run for real on its next attempt (after the reboot).

  • I've been playing around with this and running into the issue that the puppet service won't stop, the command just waits forever for the service to stop. If I let the service run, it picks up the proper configuration and leads back to the original problem. I'll post a solution if/when, though I suspect it will require further hacking.
    – snoweagle
    Jun 27, 2013 at 10:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.