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

Хиера не может найти марионеточную среду

Я тестирую 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.