我正在测试 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 能够找到一些东西;hiera.yaml文件的更改:
:hierarchy:
- development
现在 hiera 找到文件和值
$ 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
。