
Puppet を使用して Ubuntu 14.04 x64 にサーバーをデプロイしようとしています。
Puppet サーバーに ping を実行することはできますし、サーバーは puppet.conf で正しく設定されています。Puppet はマスターに接続してキーを送信でき、マスターでキーに署名して問題なくデプロイメントの実行を開始できますが、デプロイメントの実行時に次のエラーが表示されます。
Error: Could not set 'file' on ensure: getaddrinfo: Name or service not known
Error: Could not set 'file' on ensure: getaddrinfo: Name or service not known
Wrapped exception:
getaddrinfo: Name or service not known
Error: /File[/var/lib/puppet/lib/puppet/provider/a2mod.rb]/ensure: change from absent to file failed: Could not set 'file' on ensure: getaddrinfo: Name or service not known
これを複数回受け取ります(完全な出力はこちら:http://pastebin.com/mx6eXGvd)。
Puppet マニフェスト内のすべてのファイルはこのpuppet:///modules/MODULE/FILE
形式を使用しており、これまでこのような問題は一度もありませんでした。Puppet エージェントとマスターが通信できることは明らかなので、このエラーの原因が何であるか知っている人はいますか?
答え1
また、出力には次の行があります: エラー: リモート サーバーからカタログを取得できませんでした: getaddrinfo: 名前またはサービスが不明です
このことから、Puppet エージェントの DNS 解決が壊れており、クライアントが「puppet」という名前のサーバー (または puppet.conf で「server」として設定したホスト名) を見つけることができないと考えられます。