我的yaml文件包含散列定义“nodemanager_instances”。当我执行puppet时,变量的值'nodemanager_port'不会被替换。在我的common.yaml文件中,定义了值。任何人都可以找到这个不起作用的原因吗?
mwpapp.yaml
nodemanager_instances:
'nodemanager':
nodemanager_port: "%{domain_nodemanager_port}"
domain_name: "%{::sysfunc}"
common.yaml
domain_nodemanager_port: "5552"
hiera.yaml
:backends:
- yaml
:yaml:
:datadir: /etc/puppet/manifests/hiera
:hierarchy:
- "hostname/%{::hostname}"
- "sysfunc/%{::sysfunc}"
- "appotap/%{::app}%{::otap}"
- "otap/%{::otap}"
- "domain/%{::domain}"
- "colo/colo-%{::colo}"
- "os/%{::operatingsystem}/%{::operatingsystem}-%{::operatingsystemrelease}"
- "os/%{::operatingsystem}"
- common/common
答案 0 :(得分:1)
为此,您需要使用Hiera 1.3
或更高版本,并且必须使用interpolation tokens,例如
nodemanager_port: "%{hiera('domain_nodemanager_port')}"