By default, Puppet clients ask for updates every 30 minutes. I would like to change this interval. What is the most convenient way to do it?
On the client(s), edit /etc/puppet/puppet.conf and set the following (add a new line if it's not already present) in the [main] section of the file:
where xxx is your desired polling interval in seconds.
How often puppet agent applies the catalog. Note that a runinterval of 0 means “run continuously” rather than “never run.” If you want puppet agent to never run, you should start it with the --no-client option. This setting can be a time interval in seconds (30 or 30s), minutes (30m), hours (6h), days (2d), or years (5y).
If you would like to avoid using runinterval, setting up a cron could work well. This could be especially useful if you have many servers that you want to keep from hitting your puppetmaster at the same time. I used the puppetmaster to push out the file and update cron, nothing to do from the client side (obviously).
Here's what I'm using (note that I'm running it hourly but you could just reference it in cron.d, I did not create this script and unfortunetly do not know who to credit):