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