У меня есть файловые структуры для двух сред на моем главном сервере марионеток. Бег ls /etc/puppetlabs/code/environments/
на моем главном сервере возвращает две папки beta
и production
.
Но когда я иду к своему агенту и бегу puppet apply -t --environment beta
Я получаю сообщение об ошибке:
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/environments.rb:38:in `get!':
Could not find a directory environment named 'beta' anywhere in the path: /etc/puppetlabs/code/environments.
Does the directory exist? (Puppet::Environments::EnvironmentNotFound)
На главном сервере я могу успешно применить бета-манифест с puppet apply /etc/puppetlabs/code/environments/beta/manifests/site.pp
.
Я пытаюсь понять, почему Puppet не обнаруживает папку. Как я могу отладить это?
Я тоже пробовал puppet agent -t --environment beta
, как предлагает @gd_, который возвращает:
Примечание. Локальная среда: «beta» не соответствует указанной сервером среде узла «production», агент переключается на «production».
/etc/puppetlabs/puppet/puppet.conf
(по агенту) выглядит следующим образом:
# This file can be used to override the default puppet settings.
# See the following links for more details on what settings are available:
# - https://docs.puppetlabs.com/puppet/latest/reference/config_important_settings.html
# - https://docs.puppetlabs.com/puppet/latest/reference/config_about_settings.html
# - https://docs.puppetlabs.com/puppet/latest/reference/config_file_main.html
# - https://docs.puppetlabs.com/puppet/latest/reference/configuration.html
Использование версии с открытым исходным кодом.
Использовать puppet agent ...
, вместо того puppet apply ...
. Используемые вами параметры применимы к первому, а не второму.
другой вариант - в / etc / hosts агента - имя сервера не такое, как указано в результате команды hostname
это может вызвать путаницу, когда агент взаимодействует с марионеточным сервером