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?
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...)
Webrick is monothreaded, and with lousy performance. Beyond 20 servers is relatively low number of configuration items (around 200), you have to change to something else. Use Puppet Rack -- it's much better.