2

Ubuntu 10.04 から Puppet バージョン 0.25.4 を実行しています。私が実行すると:

puppetd --test

あるマシンでは、これは私が得るエラーです:

err: Could not run Puppet configuration client: Could not retrieve local facts: 404 Not Found

マスターからマシン証明書に「署名」することはできますが、その後は何もできません。別のマシンで同じバージョンの Puppet を同じ構成で実行すると、問題なく動作します。

通過しても:

--debug --verbose

コマンドラインの引数では、それ以上の手がかりが得られないためです。何か案は?

= さらにコンテキストを追加するための更新 =

これは、すべてのマシンにある puppet.conf ファイルです。

[main]
logdir = /var/log/puppet
vardir = /var/lib/puppet
ssldir = /var/lib/puppet/ssl
rundir = /var/run/puppet
factpath = $vardir/lib/facter
pluginsync = false
templatedir = $confdir/templates
prerun_command = /etc/puppet/etckeeper-commit-pre
postrun_command = /etc/puppet/etckeeper-commit-post

[puppetd]
server = puppet
report = true

これは実行の出力です

puppetd --debug --verbose --test

エラーマシンから:

debug: Failed to load library 'selinux' for feature 'selinux'
debug: Puppet::Type::User::ProviderPw: file pw does not exist
debug: Puppet::Type::User::ProviderDirectoryservice: file /usr/bin/dscl does not exist
debug: Failed to load library 'ldap' for feature 'ldap'
debug: Puppet::Type::User::ProviderLdap: feature ldap is missing
debug: Puppet::Type::User::ProviderUser_role_add: file roleadd does not exist
debug: /File[/var/lib/puppet/ssl/private]: Autorequiring File[/var/lib/puppet/ssl]
debug: /File[/var/lib/puppet/lib]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/state]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/client_yaml]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/ssl/private_keys]: Autorequiring File[/var/lib/puppet/ssl]
debug: /File[/var/run/puppet/puppetd.pid]: Autorequiring File[/var/run/puppet]
debug: /File[/var/lib/puppet/ssl/certs/ca.pem]: Autorequiring File[/var/lib/puppet/ssl/certs]
debug: /File[/etc/puppet/puppet.conf]: Autorequiring File[/etc/puppet]
debug: /File[/var/lib/puppet/clientbucket]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/facts]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/ssl]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/state/graphs]: Autorequiring File[/var/lib/puppet/state]
debug: /File[/var/lib/puppet/ssl/certs/HOSTNAME.pem]: Autorequiring File[/var/lib/puppet/ssl/certs]
debug: /File[/var/lib/puppet/ssl/public_keys]: Autorequiring File[/var/lib/puppet/ssl]
debug: /File[/var/lib/puppet/ssl/private_keys/HOSTNAME.pem]: Autorequiring File[/var/lib/puppet/ssl/private_keys]
debug: /File[/var/lib/puppet/ssl/public_keys/HOSTNAME.pem]: Autorequiring File[/var/lib/puppet/ssl/public_keys]
debug: /File[/var/lib/puppet/ssl/certificate_requests]: Autorequiring File[/var/lib/puppet/ssl]
debug: /File[/var/lib/puppet/ssl/certs]: Autorequiring File[/var/lib/puppet/ssl]
debug: Finishing transaction -613406248 with 0 changes
debug: Using cached certificate for ca, good until Tue Nov 22 13:59:42 UTC 2016
debug: Using cached certificate for HOSTNAME, good until Sat Nov 26 11:31:35 UTC 2016
debug: Executing '/etc/puppet/etckeeper-commit-pre'
debug: Executing '/etc/puppet/etckeeper-commit-post'
err: Could not run Puppet configuration client: Could not retrieve local facts: 404 Not Found

これは、etckeeper-commit-pre を実行した後は何もしない (そして etckeeper はどのマシンにもインストールされていない) という事実を除けば、基本的に他のマシンと同じです。

4

2 に答える 2

0

私もこの問題に遭遇しました。何度も試してみましたが、うまくいきませんでした。

which -a puppet

そして、2 つのパペット バージョンがインストールされていることがわかりました。それらをすべて削除してから、deb パッケージを使用してパペットを再インストールすると、動作するようになりました。

于 2012-10-22T03:49:01.353 に答える
0

この問題は、実際には、Facter が Amazon クラウド サービスに接続して、実行中の仮想インスタンスに関する事実を取得しようとしていることが原因です。

明らかに、これはクラウド内で実行されていないため、必要ありません。

次のファイルを削除します。

/usr/lib/ruby/1.8/facter/ec2.rb

必要な場合に備えて、そのディレクトリから移動しました。ファイルの名前を変更しても機能しません。

これは、後の Puppet リリースで修正されることに注意してください。

于 2012-01-17T19:45:11.607 に答える