我似乎不知道如何访问我的数据在我的yaml文件中。
这是我的hierarchy .yaml:
[root@vxx-osc4-ppt-001 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%PuppetLabshieravar on Windows
# When specifying a datadir, make sure the directory exists.
:datadir:
在我更改了上面的文件后,我重新启动了3.7 PE Puppet master像这样:
[root@vxx-osc4-ppt-001 puppetmaster]# systemctl restart pe-httpd
我还有这两个包含键/值对的yaml文件一个类参数,controller_vip_name。所以我有这个。
[root@vxx-osc4-ppt-001 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.yaml
"文件中"controller_vip_name
"的值为"vxx-osc4.example.com
"所有的默认值都是小写的。"controller_vip_name
"的值为"VXX-osc4.example.com
"其中VXX是大写的。我正试着像这样对我的设置进行QA:
[root@vxx-osc4-ppt-001 puppetmaster]# hiera controller_vip_name
VXX-osc4.example.com
上面的命令可以工作,并且hiera从defaults.yaml
文件中检索数据但是这个命令不起作用:
[root@vxx-osc4-ppt-001 puppetmaster]# hiera "pod_prefix=vxx-osc4" controller_vip_name
controller_vip_name
我认为hiera
完全忽略了我的vxx-osc4.yaml
文件。
我在这里做错了什么?
您的hiera命令错误:
Usage: hiera [options] key [default value] [variable='text'...]
注意变量在键之后出现