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