我正在尝试实现hiera合并.希尔是我的hiera.yaml
---
:hierarchy:
- fqdn/%{fqdn}
- roles/%{role}
- os/%{osfamily}
- common
:backends:
- yaml
# options are native, deep, deeper
:merge_behavior: deeper
:yaml:
:datadir: /etc/puppet/environments/%{environment}/data
Run Code Online (Sandbox Code Playgroud)
然后我有:common.yaml
---
classes:
- a
- b
Run Code Online (Sandbox Code Playgroud)
和fqdn/some.host.yaml
---
classes:
- c
- d
Run Code Online (Sandbox Code Playgroud)
赛跑
hiera --debug -c /etc/puppet/hiera.yaml classes fqdn=some.host environment=development
["c", "d"]
Run Code Online (Sandbox Code Playgroud)
和
hiera --debug -c /etc/puppet/hiera.yaml classes fqdn=blablahost environment=development
["a", "b"]
Run Code Online (Sandbox Code Playgroud)
所以"blablahost"采取common.yaml并应用"a"和"b"类..但是fqdn = some.host应该应用a,b,c,d ..而不仅仅是c,d ...什么是我做错了?
问候
要启用阵列合并,您需要添加该--array选项.
hiera --array -c /etc/puppet/hiera.yaml classes fqdn=some.host environment=development
Run Code Online (Sandbox Code Playgroud)