2014-09-25 36 views
3

我想实现hiera合并。票数是我hiera.yamlhiera合并不工作

--- 
: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和应用 “一” 和 “b” 的类..但FQDN = some.host应适用A,B,C,d ..而不是只有c ,D ...我做错了什么?

问候

回答

5

要启用array merging,你需要添加--array选项。

hiera --array -c /etc/puppet/hiera.yaml classes fqdn=some.host environment=development 
+0

谢谢!工作! – user1908375 2014-09-26 19:31:44

+0

@ user1908375如果此解决方案解决了您的问题,请接受它。 – MrAlias 2014-09-30 04:39:50