2015-07-20 76 views
1

我似乎无法弄清楚如何访问我的hiera数据 ,我把我的YAML文件。我不明白hiera.yaml和hiera

这里是我的hiera.yaml:

[[email protected] puppetmaster]# cat /etc/puppetlabs/puppet/hiera.yaml 
--- 
:backends: 
    - yaml 
:hierarchy: 
    - "%{pod_prefix}" 
    - defaults 
    - "%{clientcert}" 
    - "%{environment}" 
    - global 

:yaml: 
# datadir is empty here, so hiera uses its defaults: 
# - /var/lib/hiera on *nix 
# - %CommonAppData%\PuppetLabs\hiera\var on Windows 
# When specifying a datadir, make sure the directory exists. 
    :datadir: 

后,我改变了上述文件,我重新启动我的3.7 PE木偶大师 像这样:

[[email protected] puppetmaster]# systemctl restart pe-httpd 

我也有这两个YAML文件包含关键字/值对 一个类参数,controller_vip_name。所以我有这个...

[[email protected] puppetmaster]# grep "^controller_vip_name:" /var/lib/hiera/*yaml 
/var/lib/hiera/defaults.yaml:controller_vip_name: VXX-osc4.example.com 
/var/lib/hiera/vxx-osc4.yaml:controller_vip_name: vxx-osc4.example.com 

...注意文件vxx-osc4.yamlcontroller_vip_namevxx-osc4.example.com 全部小写,并在defaults.yaml文件的controller_vip_nameVXX-osc4.example.com 其中VXX是大写。我想QA我的设置像这样:

[[email protected] puppetmaster]# hiera controller_vip_name 
VXX-osc4.example.com 

上述命令的工作和hiera检索来自defaults.yaml文件 数据,但该命令不起作用:

[[email protected] puppetmaster]# hiera "pod_prefix=vxx-osc4" controller_vip_name 
controller_vip_name 

我觉得hiera完全忽略了我的vxx-osc4.yaml文件。

我在这里做错了什么?

回答

2

你hiera命令是错误的:

Usage: hiera [options] key [default value] [variable='text'...] 

注意变量键来后

+0

谢谢!我应该发现这一点。嘿,你介意看看我发布的这个问题。它有点相关。它的另一个hiera问题。 :) –