Users should have a way to make reboot notifications not break idempotency in their Puppet runs


Right now there are only two ways to make a Puppet run idempotent after a reboot notify resource is created. The first is to set the log level to debug so that it does not appear in the agent output and the second is to reboot the machine. The latter of these options is something that can’t be controlled and the first is a hack. Unless a user understands resource collectors (a bad assumption, I think) the only thing they can do is set all simp-controlled reboot notification resources to debug. This isn’t a valid solution as it assumes that a user wants to suppress every reboot notification, which is not a safe assumption.

I propose that users should either be able to globally turn off reboot notifications (it’s up to them to make the choice if that’s a valid solution or not) or that there should be a way to create a message/notification outside of the Puppet run that indicates a reboot is necessary on a particular host. This could be done as a warning in Puppetserver log, perhaps a message to syslog that logging systems could filter, or maybe have the ability to only print out the message on a specific schedule. The specific solution is open to discussion but what’s not acceptable is to have every single Puppet run no longer be idempotent in SIMP by default unless a user has the ability to disable that in a way configurable to them.

Acceptance Criteria



Trevor Vaughan
December 31, 2019, 5:18 PM

I'm not quite sure how setting the log level is a hack.

Would you prefer a Boolean that sets the log level to 'debug' for you and feels more natural?


Epic Link

Story Points