What causes the error "Could not retrieve catalog from remote server: execution expired" in Puppet

My puppet agents fail randomly with the following errors:

err Could not retrieve catalog from remote server: execution expired Puppet 2014-09-11 22:25 UTC

err Could not retrieve catalog; skipping run Puppet 2014-09-11 22:25 UTC

notice Using cached catalog Puppet 2014-09-11 22:25 UTC


Solution 1:

This can be caused when the load on the Puppet Master server is too high to send compiled catalogs to the agents.

Start by checking if any services are using all the available resources, or if the server is under-powered for the requests it is getting. If all agents run at the same time, edit the cron job that controls their run time to spread it out.

If all else fails, allowing the agents to take longer to receive the catalog may work. This can be done by adding the configtimeout setting to the puppet.conf file (/etc/puppet/puppet.conf) and increasing the value. It defaults to "2m", meaning two minutes.