Ошибка марионетки: «Не удалось получить локальные факты: 404 не найдено» - PullRequest
2 голосов
/ 28 ноября 2011

Я использую Puppet версии 0.25.4 из Ubuntu 10.04. Когда я бегу:

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 не установлен ни на каких машинах).

Ответы [ 2 ]

0 голосов
/ 22 октября 2012

Я также сталкиваюсь с этой проблемой. Я пытаюсь много раз и не работает. Затем я использую:

which -a puppet

И я обнаружил, что установлены две версии кукол!Я удаляю их все, а затем переустанавливаю марионетку, используя пакеты deb, и теперь она работает.

0 голосов
/ 17 января 2012

Проблема на самом деле вызвана тем, что Facter пытается связаться с облачным сервисом Amazon, чтобы узнать факты о работающем виртуальном экземпляре.

Очевидно, что вы не работаете в облаке, поэтому вам это не нужно.

Удалите следующий файл:

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

Я перенес мой из этого каталога на тот случай, если он мне понадобится. Переименование файла не сработает.

Обратите внимание, это исправлено в более поздней версии Puppet.

...