我刚开始将 hiera 与 puppet 结合使用(对 puppet 也有些陌生)。
我写了这段 yaml:
---
web_mysql_server:
mysql_database: "my_production"
然后我尝试在 puppet list 中使用它:
database => hiera('web_mysql_server::mysql_database'),
这不起作用,生成错误
Error: Could not find data item web_mysql_server::mysql_database
in any Hiera data file and no default supplied at
/vagrant/puppet/modules/web_mysql_server/manifests/init.pp:33
on node railstest.vm
(为了便于阅读,我在其中添加了一些 '\n'
)。
我怀疑(希望!)这是一个我没有得到的简单语法错误。有人看到我做错了什么吗?
最佳答案
基于hiera documentation ,访问嵌套键的正确语法是
hiera('web_mysql_server.mysql_database')
这种限定键的语法并不总是存在,文档称它来自 Hiera 2.0。
我知道我们使用 puppet 3.8.3 并且我们的设置尚不支持限定 key 。我们通过这种方法解决了这个限制:
$mysql_configuration = hiera('web_mysql_server')
# ...
database => $mysql_configuration['mysql_database']
关于yaml - 使用嵌套键在 puppet list 中获取 hiera 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37227173/