Puppet 6.1.0: node.rb отсутствует в установленных файлах? - PullRequest
0 голосов
/ 21 января 2019

Для тестирования я установил два экземпляра сервера Ubuntu 18.04 на VirtualBox. Затем я установил один с Puppet-сервером 6.1.0 и один с Puppet-агентом 6.1.0 в соответствии с документацией на Puppetlabs для версии 6.1. Форман установлен , а не .

После регистрации моего агента на сервере puppetserver и подписания сертификата запуск запуска puppet (sudo / opt / puppetlabs / bin / puppet agent --test) завершается с ошибкой:

Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Failed when searching for node puppetagent.fritz.box: Exception while executing '/etc/puppetlabs/puppet/node.rb': Cannot run program "/etc/puppetlabs/puppet/node.rb" (in directory "."): error=2, No such file or directory

Я был ошеломлен, обнаружив, что скрипт /etc/puppetlabs/puppet/node.rb действительно отсутствовал и также не был включен в пакеты puppetserver, puppet-agent или facter (sudo dpkg-query -L ... ).

Погуглил, нашел только скрипт с таким же именем, который принадлежал Форману.

Файл также отсутствует в исходном коде сервера puppet на github.

Кто-нибудь может пролить свет на это?

Ответы [ 2 ]

0 голосов
/ 24 января 2019

Если ответить на ответ Джона, ваша конфигурация , вероятно, настроена для общения с мастером.Если вы не написали это сами или не скопировали его откуда-то и уверены, что у вас не установлены какие-либо пакеты Foreman, то это определенно ошибка упаковки, о которой вы должны сообщить.

Сказано: кукольные репозитории почти всегда являются правильным ответом, а не дистрибутивами.

0 голосов
/ 23 января 2019

Похоже, что ваша конфигурация сервера настроена на использование внешнего классификатора узла.Это необязательно: Puppet не требует ENC и не предоставляет его по умолчанию.Это часть того, что делает их «внешними».Если вы получили результат, который вы описали, прямо из коробки, то он, вероятно, отражает недостаток упаковки, о котором вы должны сообщить.

Тем временем вы должны иметь возможность обновить конфигурацию , чтобы отключить ее.использование ENC путем изменения значения параметра node_terminus на plain.Кроме того, вы можете просто удалить node_terminus и external_nodes из вашей конфигурации, потому что по умолчанию для первого из них является plain.

...