Как использовать глобальные параметры в Forman?
Я новичок в Foreman, и я хочу использовать параметр для всех моих хостов, управляемых puppet, и я думаю, что использовать глобальные параметры - это хороший способ. Но я не могу понять, как его использовать.
Например, если я возьму модуль ntp и если я хочу иметь один и тот же сервер ntp на всех хостах, как я должен объявить глобальный параметр и документация очень плохая...
Я устал:
ntp_servers = time.nrc.ca
$:: ntp:: servers = time.nrc.ca
:: ntp:: servers = time.nrc.ca
ntp:: servers = time.nrc.ca
Никто не соответствует.
1 ответ
Я предполагаю, что вы используете мастера WebGui:
Если вы находитесь в Smart Class Parameter
вкладку класса ntp, выберите servers
, проверить Override
Вставьте и выберите array
за Parameter type
, Затем введите список нужного вам сервера времени в следующей форме:
["timehost1.domain.tld","timehost2", ...]
Мне потребовалось некоторое время, чтобы понять это. В общем, вам нужно знать или узнать, какой тип ожидается от модуля Puppet. Я смотрю на код модулей, если он не совсем понятен. Кроме того, если вы хотите сделать параметр более доступным для записи где-нибудь в будущем по группам хостов или тому, что вы используете для узлов разных типов, я обнаружил, что вы должны установить значение по умолчанию самостоятельно. Встроенное значение по умолчанию работает только тогда, когда Override
не проверяется. По крайней мере, для таких модулей, как ntp, у которых есть подкласс params. В противном случае вы получите ошибки о том, что параметр не найден / не может быть установлен или подобен.
Я довольно новичок в марионетке, поэтому, если у кого-то есть лучшее объяснение, я буду рад.
Ура, Кристоф
Скриншот