私が持っています puppet master
Xen dom0で実行され、3つのdomUが1時間ごとのcrontabを介して同期していますpuppet agent --test
。
約80%の確率で、puppet agent --test
正常に完了しました:
info: Retrieving plugin
info: Caching catalog for test3
info: Applying configuration version '1333319732'
notice: Finished catalog run in 5.08 seconds
残りの20%は途中で失敗し、次のようなエラーが発生します。
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
または
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
または
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
または
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
この間、Puppetの構成に変更を加えていません。散発的に失敗するだけです。
CentOSでpuppet-2.7.12を実行しており、 http://docs.puppetlabs.com/learning/agent_master_basic.html で説明されているセットアップ手順に従いました。
これをトラブルシューティングする方法についてのアイデアはありますか?
数週間前、puppet master
を実行している仮想マシンのメモリ割り当てを数百メガバイト増やしましたが、それ以降、障害は発生していません。
(これはメモリが不足していることを示す奇妙な方法です...)
Webrickはモノスレッドであり、パフォーマンスがお粗末です。 20台を超えるサーバーは構成アイテムの数が比較的少ない(約200)ため、別のものに変更する必要があります。 PuppetRackを使用してください-それははるかに優れています。