Is it possible to setup puppet
in a way that changes in manifests only will be applied during certain hours, so that any eventual downtime on our server will occur when we decide it to?
Thanks
Is it possible to setup puppet
in a way that changes in manifests only will be applied during certain hours, so that any eventual downtime on our server will occur when we decide it to?
Thanks
I just had to solve this problem... There are a few approaches...
The module I use:
An example puppet.cron:
There's a Puppet schedule metaparameter that allows you to list times when manifests should be evaluated on a per-class basis. See: https://serverfault.com/a/341865/13325
I recently read a book that suggested using Git as a manifest distribution method in order to scale and reduce the load on the master server. This means you'd have more granular control over scheduling.
Yes, just setup the cronjob that runs puppet to only run during certain hours. Running puppet as a daemon is a really terrible idea. We use the IP address of the server as the key into a hashing function to splay our cronjobs across the entire time period of our Puppet runs, to avoid a thundering herd problem.