我正在尝试实现层次合并。hier是我的hier.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
那么我有:common.yaml
---
classes:
- a
- b
和fqdn/some.host.yaml
---
classes:
- c
- d
运行
hiera --debug -c /etc/puppet/hiera.yaml classes fqdn=some.host environment=development
["c", "d"]
和
hiera --debug -c /etc/puppet/hiera.yaml classes fqdn=blablahost environment=development
["a", "b"]
因此,"blablahost"采用common.yaml并应用"a"one_answers"b"类。。但是fqdn=some.host应该应用a、b、c、d。。不仅c,d。。。我做错了什么?
问候
要启用数组合并,需要添加--array
选项。
hiera --array -c /etc/puppet/hiera.yaml classes fqdn=some.host environment=development