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

Я довольно новичок в марионетке, поэтому, если у кого-то есть лучшее объяснение, я буду рад.

Ура, Кристоф

Скриншотвведите описание здесь

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