Я использую марионетку для настройки серверов. Я хочу напечатать текущее имя машины (node) в шаблоне *.erb. Существует переменная имени хоста, но в ней содержится имя хоста кукловода. Есть ли хорошая ссылка/список по этой теме?
Кукольный node имя хоста
Ответ 1
Кажется, что я скучаю-смотрел где-то. Я могу получить (печатать) node -hostname просто путем вызова следующего кода в шаблоне *.erb:
<%= @hostname %>
Изменить: с Puppet 3, используя локальные переменные (т.е. hostname
устарел, Puppet 4 полностью удалит поддержку для них. Рекомендуемый способ - использовать переменные экземпляра (с префиксом @
). Поэтому в этом случае, @hostname
. Источник
Ответ 2
Ввод следующей команды в ваш терминал приведет к возврату переменных, доступных в ваших файлах erb:
facter --puppet
Ответ 3
Да всем вышеперечисленным; вы также можете найти переменную fqdn
полезной, в зависимости от того, что вы делаете.
Если вам нужна информация о мажоритарном сервере-хозяине в шаблоне, вы можете использовать переменные servername
, serverip
и serverversion
(Из FAQ).
Ответ 4
По-видимому, теперь вы можете использовать
<%= fqdn %>
и получить обратное имя DNS.
Если вам нужно ввести его в нижний регистр, используйте
<%= fqdn.downcase %>
Ответ 5
Обратите внимание, что это имя хоста, а не имя node (которое вы изначально запрашивали). В 99% случаев они будут одинаковыми. AFAIK нет способа получить фактическое имя node в шаблонах (и если есть, я бы хотел его услышать).