В настоящее время я использую небольшую конфигурацию клиента puppetmaster +, в которой не используется функция среды каталогов Puppet. Моя марионеточная версия - 3.6.
Я пробовал следующее:
environmentpath=$confdir/environments
к puppet.conf
$confdir/environments/
(например. /etc/puppet/environments/production
)site.pp
) в производственную средуpuppet agent -vt
на клиентеК сожалению, я получаю следующую ошибку:
Info: Retrieving pluginfacts
Error: /File[/var/lib/puppet/facts.d]: Could not evaluate: Could not retrieve information from environment production source(s) puppet://puppet/pluginfacts
Info: Retrieving plugin
Error: /File[/var/lib/puppet/lib]: Could not evaluate: Could not retrieve information from environment production source(s) puppet://puppet/plugins
Notice: /File[/var/lib/puppet/lib/puppet]: Dependency File[/var/lib/puppet/lib] has failures: true
Запуск марионетки не завершается ошибкой, но перед завершением выполняется прокрутка ошибок, аналогичных этой.
Мои мысли о репликации текущей конфигурации (модулей и манифестов) в новую production
среда состоит в том, что у всех клиентов должны быть свои $environment
переменная установлена в production
по умолчанию. Это ошибочная логика?
Я основывал свое обращение на Руководство по Puppet Labs.
Ради потомков вот исправление, которое я нашел:
Я сделал две простые ошибки:
Я не перезапускал кукловода (через пассажира). Это было легко сделать с помощью service apache2 restart
на Debian Wheezy
После перезапуска я получил поток новых ошибок, указывающих на проблемы с перезагрузкой марионетки. Файлы журнала, содержащие соответствующую информацию, в конечном итоге были обнаружены в: /var/log/syslog
, из всех мест.
Журналы указали на проблему с разрешениями на /etc/puppet/manifests
. Оказывается, git удаляет пустые папки, и, поскольку я перенес свои site.pp
к /etc/puppet/environments/production/manifests/site.pp
, git удалил /etc/puppet/manifests
папка в которую закидывала ошибки.
Я исправил №3, добавив пустой site.pp
к manifests
папка в /etc/puppet
Я считаю, что в 3.6 puppet используются среды каталогов, поэтому не настраивайте их в puppet.conf, просто создайте каталоги в средах. Я думаю, вы можете использовать: https://docs.puppetlabs.com/puppet/latest/reference/environments_configuring.html
что немного отличается. Я также использую ENC, бригадир, поэтому для вас это может быть иначе, но вам, вероятно, понадобится site.pp в глобальном каталоге модулей, а не в вашей среде. У нас просто есть наши модули в наших средах, а site.pp и т.д. находятся в глобальном каталоге модулей.