Среды каталогов 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 может установить среду узла (переопределяя то, что агент выбирает в качестве своей собственной среды), но мастер должен быть тем, кто переопределяет его, а не агент.