2015-07-20 277 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問題。 :) –