Puppet erb hostname возвращает имя сервера

Я хочу поместить имя узла в шаблон. Я ожидал, что переменная @hostname сделает это, но вместо этого я получаю имя сервера.

Главный узел — это debian wheezy с puppet 3.7.5-1puppetlabs1, узел wheezy с puppet 2.7.23-1~deb7u3.

Я пробовал этот шаблон:

hostname=<%= @hostname %>
fqdn=<%= @fqdn %>
servername=<%= @servername %>

Я иду к узлу и набираю:

# puppet agent --test

И вот что генерируется:

hostname=puppet

fqdn=enquestes.my.domain
servername=puppet.my.domain

Я ожидал, что имя хоста вернет enquestes, и это то, что я понимаю, читая этот другой вопрос:

имя узла узла марионетки

Вот и думаю, может где-то что-то напутано. Обратите внимание на дополнительную новую строку после имени хоста ''puppet''. Его не было в шаблоне, но он был записан в выводе. Я пробовал также с:

inline_template('<%= hostname %>')

Но он возвращает puppet вместо имени хоста узла, как я и ожидал.

Если я перейду к узлу и наберу это:

$ facter | grep -i hostname

Я получаю ожидаемое имя хоста enquestes. Поэтому мне интересно, может быть, я что-то пропустил, и это ожидаемое поведение, или что-то не так с моим узлом или мастером?

Спасибо за ваше время.


person Francesc Guasch    schedule 15.04.2015    source источник
comment
Я обнаружил в манифесте, что у меня было это из предыдущей попытки $hostname = generate('/usr/bin/env','/bin/hostname'). Я не знал, что это происходит в шаблоне. Я только что прокомментировал это, и теперь я получаю пустое имя хоста, когда запускаю кукольный агент. Я ожидал, что сейчас получу имя узла   -  person Francesc Guasch    schedule 15.04.2015
comment
Возможно, вы стираете значение переменной и в какой-то другой области?   -  person Felix Frank    schedule 15.04.2015
comment
Хорошо, тогда это должно быть в одном манифесте или шаблоне? Я пробовал grep -i hostname * и ничего не показывает.   -  person Francesc Guasch    schedule 15.04.2015
comment
Grep через all манифестирует, чтобы быть в безопасности.   -  person Felix Frank    schedule 16.04.2015
comment
Через 24 часа он работает как положено. Я предполагаю, что @hostname хранилось в памяти или каким-то образом кэшировалось.   -  person Francesc Guasch    schedule 16.04.2015