Centos – Puppet Agent fails sporadically, with either timeout or “Could not find class” error

centospuppet

I have puppet master running on a Xen dom0, and 3 domUs syncing to it via an hourly crontab puppet agent --test.

About 80% of the time, the puppet agent --test completes successfully:

info: Retrieving plugin
info: Caching catalog for test3
info: Applying configuration version '1333319732'
notice: Finished catalog run in 5.08 seconds

The other 20% of the time, it fails midway, with errors such as the following:

err: Could not retrieve catalog from remote server: Error 400 on SERVER:
     Could not find class iptables for test1 at /etc/puppet/manifests/site.pp:1 on node test1
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run

or

info: Retrieving plugin
info: Caching catalog for test2
info: Applying configuration version '1333319732'
notice: Finished catalog run in 24.73 seconds
err: Could not send report: Error 500 on SERVER: 

Internal Server Error

private method `gsub' called for WEBrick::HTTPStatus::RequestTimeout:Class

 WEBrick/1.3.1 (Ruby/1.8.5/2006-08-25) OpenSSL/0.9.8e-rhel5 at
 puppet:8140

or

info: Retrieving plugin
err: Could not retrieve catalog from remote server: execution expired
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run

or

info: Retrieving plugin
info: Caching catalog for test3
info: Applying configuration version '1333319732'
notice: Finished catalog run in 9.47 seconds
err: Could not send report: Error 408 on SERVER: Request Timeout 

During this time, I've not made any changes to the Puppet configuration — it just sporadically fails.

I'm running puppet-2.7.12 on CentOS, and followed the setup instructions described on http://docs.puppetlabs.com/learning/agent_master_basic.html.

Any ideas about how I can troubleshoot this?

Best Answer

Several weeks ago, I increased the memory allocation for the virtual machine running puppet master by a couple hundred megabytes, and there haven't been any failures since then.

(That's a strange way of indicating memory is insufficient...)