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

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

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

Когда я запускаю тест с использованием одного манифеста, который распечатывает переменную среды $, он дает мне значение из моего настраиваемого факта, но когда агент разговаривает с Puppet Master, он по-прежнему использует среду по умолчанию «production».

Есть идеи, почему это происходит? Разве фактер нельзя использовать в качестве ENC?

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

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