Назад | Перейти на главную страницу

Что требуется для перехода марионеточной установки на использование сред каталогов?

В настоящее время я использую небольшую конфигурацию клиента puppetmaster +, в которой не используется функция среды каталогов Puppet. Моя марионеточная версия - 3.6.

Я пробовал следующее:

  1. О кукловоде: добавлено environmentpath=$confdir/environments к puppet.conf
  2. На кукловоде: созданы необходимые пути в $confdir/environments/ (например. /etc/puppet/environments/production)
  3. Добавлены мои существующие модули и манифест (site.pp) в производственную среду
  4. Перешел на эту ветку git и запустил тест 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.

Ради потомков вот исправление, которое я нашел:

Я сделал две простые ошибки:

  1. Я не перезапускал кукловода (через пассажира). Это было легко сделать с помощью service apache2 restart на Debian Wheezy

  2. После перезапуска я получил поток новых ошибок, указывающих на проблемы с перезагрузкой марионетки. Файлы журнала, содержащие соответствующую информацию, в конечном итоге были обнаружены в: /var/log/syslog, из всех мест.

  3. Журналы указали на проблему с разрешениями на /etc/puppet/manifests. Оказывается, git удаляет пустые папки, и, поскольку я перенес свои site.pp к /etc/puppet/environments/production/manifests/site.pp, git удалил /etc/puppet/manifests папка в которую закидывала ошибки.

  4. Я исправил №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 и т.д. находятся в глобальном каталоге модулей.