合并不起作用

use*_*375 3 puppet hiera

我正在尝试实现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 ...什么是我做错了?

问候

Fel*_*ank 5

要启用阵列合并,您需要添加该--array选项.

hiera --array -c /etc/puppet/hiera.yaml classes fqdn=some.host environment=development
Run Code Online (Sandbox Code Playgroud)