Как исправить ошибку, из-за которой puppet отказывается запускаться и запрашивает «master.pp»?

Как исправить ошибку, из-за которой puppet отказывается запускаться и запрашивает «master.pp»?

Я использую самую последнюю версию puppetи следую руководству Apress "Pro Puppet" шаг за шагом. Я установилpuppet

sudo aptitude install ruby libshadow-ruby1.8
sudo aptitude install puppet puppetmaster facter

Я отредактировал /etc/puppet/puppet.conf, включив certname

[master]
certname=puppet.mydomain.com

Я отредактировал /etc/hosts и добавил следующую строку

127.0.0.1 puppet.mydomain.com puppet

Я установил имя хоста сервера

echo "puppet.mydomain.com" > /etc/hostname
hostname -F /etc/hostname

А потом пробую запустить puppetиз командной строки.

puppet master --verbose --no-daemonize

И puppetвыдает мне такую ​​ошибку:

Could not parse for environment production:
Could not find file /master.pp

Я запускаю все команды, sudoи в последней строке сообщения об ошибке всегда говорится, что поиск невозможен master.pp, а путь до нее указывает на мой текущий рабочий каталог.

Что я делаю не так?

Я также должен упомянуть, что у меня не настроена запись DNS для puppet.mydomain.com— я видел в Интернете документацию, в которой упоминалось, что это может быть проблемой — однако я был почти уверен, что файл hostsпозволит мне обойти это.

решение1

Похоже, что вы используете старую версию Puppet, которая не понимает подкоманду master и пытается запустить ее как манифест. Где-то около версии 0.25 был представлен новый синтаксис команды.

Дважды проверьте, какую версию вы используете. Текущая версия должна быть 2.7. Я часто обнаруживал, что дистрибутивы упаковывают старые версии. Например, Ubuntu 10.04LTS устанавливает 0.25.4, которая довольно старая.

решение2

Чтобы узнать версию пакета puppet, выполните:

sudo apt-cache policy puppet

решение3

Мартейнявляетсяверно. Ваша версия puppet определенно старше 2.6. Вы используете старую версию Ubuntu или Debian? Squeeze уже включает 2.6, а Ubuntu 11 включает 2.7. Если вы используете Lenny, вы можете найти более новую версию Puppet на backports. И, если ничего из этого не поможет, я думаю, что у puppetlabs есть репозиторий для более новых версий puppet, хотя это может вызвать у вас некоторые проблемы с версией ruby.

Связанный контент