Назад | Перейти на главную страницу

Как запустить автономную программу hiera для проверки значений?

Предположительно, на моем мастере марионеток я могу запустить hiera из командной строки, чтобы увидеть, как конкретный узел будет генерировать набор переменных, но действительно сложно найти рабочий пример этого.

Я пробовал использовать инвентарь марионеток и mcollective, оба с ошибкой:

[root@puppet001 hiera]# hiera -c /etc/puppet/hiera.yaml -i pamcontent001.mgs.example.com
Puppet inventory service lookup failed: NoMethodError: undefined method `features' for Puppet:Module
Could not load Puppet inventory service scope: SystemExit: exit

[root@puppet001 hiera]# hiera -c /etc/puppet/hiera.yaml -m pamcontent001.mgs.example.com 
MCollective lookup failed: LoadError: cannot load such file -- mcollective
Could not load MCollective scope: SystemExit: exit

Поиск по этим сообщениям об ошибках выявит некоторые старые ошибки и их исправления, но никакие обходные пути не дадут мне тестового поиска.

Как вы тестируете и отлаживаете поиск heira, когда вы получаете неожиданное значение?

Вы не можете сбросить все данные hiera для узла. Если вы посмотрите на api для создания пользовательских бэкэндов для hiera, вы увидите, что нет ничего для возврата всего набора данных или списка ключей, просто способ получить значение, связанное с определенным ключом. Имейте в виду, что возможен широкий спектр серверных частей.

Вы можете найти значение для определенного ключа. например:

hiera -c /etc/puppet/hiera.yaml \
key \
fqdn=pamcontent001.mgs.example.com \
environment=production

Какие именно переменные области видимости вам нужно предоставить таким образом, будет зависеть от того, какие из них вы используете в своем файле hiera.yaml. Вы можете найти этот полезно.