Среды каталогов Puppet и переменная $environment

Как и многие (я надеюсь), я готовлюсь к Puppet 4, разделяя мои манифесты на среды. Я намерен иметь 3 отдельных среды: qa, staging, prod. При первоначальной настройке манифестов я настроил пользовательский факт для среды, чтобы он указывал на конкретную среду (т. Е. Создал /etc/facter/facts.d/environment, в которой для среды задано prod).

Когда я запускаю тест с использованием одного манифеста, который печатает переменную $environment, он дает мне значение из моего пользовательского факта, но когда агент обращается к Puppet Master, он все еще использует среду по умолчанию "production".

Есть идеи, почему это происходит? Facter не может быть использован в качестве ENC?

1 ответ

Решение

$environment технически переменная не является фактом - она ​​устанавливается агентом из puppet.confвместо факта. Вам нужно будет отредактировать его в агентском puppet.conf вместо facts.d,

ENC может установить среду узла (переопределяя то, что агент выбирает в качестве своей собственной среды), но мастер должен быть тем, кто переопределяет его, а не агент.

Другие вопросы по тегам