Я тестирую hiera и обнаруживаю ошибку в конфигурации иерархии. То, что у меня есть, очень просто, часть, которая не работает, - это спецификация файлов hiera datadir на основе среды. Вот конфигурационный файл (/etc/hiera.yaml) Я стараюсь
---
:backends:
- yaml
:logger: console
:hierarchy:
- "%{::environment}"
:yaml:
:datadir: /var/lib/hiera
Теперь у меня есть файл /var/lib/hiera/development.yaml
blah: meh
Когда я запускаю hiera, он не находит файл или значение
$ hiera -d blah
DEBUG: Fri Oct 25 15:50:52 -0600 2013: Hiera YAML backend starting
DEBUG: Fri Oct 25 15:50:52 -0600 2013: Looking up blah in YAML backend
nil
Я убедился, что этот агент настроен для разработки
$ sudo puppet agent --configprint environment
development
Теперь позвольте мне доказать, что Хиера способна найти что-то; изменение в hiera.yaml файл:
:hierarchy:
- development
И теперь Иера находит файл и значение
$ hiera -d blah
DEBUG: Fri Oct 25 15:53:25 -0600 2013: Hiera YAML backend starting
DEBUG: Fri Oct 25 15:53:25 -0600 2013: Looking up blah in YAML backend
DEBUG: Fri Oct 25 15:53:25 -0600 2013: Looking for data source development
DEBUG: Fri Oct 25 15:53:25 -0600 2013: Found blah in development
meh
Так почему же он не работает с конфигурацией динамической среды? Я получил это прямо из документация. Обратите внимание, я пробовал запустить hiera
через sudo без изменения результата.
Есть несколько способов кормить hiera фактами. Пытаться hiera -d blah environment=development
.