我正在测试 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 运行该命令,但结果没有变化。
答案1
有多种方法可以feed hiera 事实。 尝试hiera -d blah environment=development
。