我一直在试验配置数据的hiera。 hiera.yaml文件具有以下配置:
—:后端: - yaml:层次: - “servers /%{hostname}” - 常见但是当我……
我认为原因可能是a)你没有使用hiera datadir的默认位置(这是/ var / lib / hiera)和b)你忘了在hiera.yaml中指定datadir(或者你想要的任何文件名)你的hiera配置文件是)。这是一个可能的解决方案可能只是将以下内容添加到您的hiera配置文件:
:yaml: :datadir: /tmp/var-lib-hiera
看看以下示例:
/tmp/var-lib-hiera $ hiera -c hiera.yaml some::var hostname=foo 100 /tmp/var-lib-hiera $ tree . 鈹溾攢鈹� hiera.yaml 鈹斺攢鈹� servers 鈹斺攢鈹� foo.yaml /tmp/var-lib-hiera $ head hiera.yaml servers/foo.yaml ==> hiera.yaml <== --- :backends: - yaml :hierarchy: - "servers/%{hostname}" - common :yaml: :datadir: /tmp/var-lib-hiera ==> servers/foo.yaml <== some::var: 100
如果您正在使用puppet,您可以在puppet.conf的e master部分设置hiera文件的位置,这样您就不必在cmd行上提供它。
看到: http://docs.puppetlabs.com/references/latest/configuration.html#hieraconfig
显然,如果:使用-c选项运行hiera以指定配置文件的确切位置,配置将起作用。 (来自/etc/hiera.yaml的符号链接不起作用,但这是来自另一个论坛的建议 https://ask.puppetlabs.com/question/3149/where-does-hiera-search-for-data-sources/?answer=3152#post-id-3152 )