Puppet / Hiera:散列变量定义不会被替换

时间:2014-05-15 11:17:02

标签: puppet hiera

我的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

1 个答案:

答案 0 :(得分:1)

为此,您需要使用Hiera 1.3或更高版本,并且必须使用interpolation tokens,例如

    nodemanager_port: "%{hiera('domain_nodemanager_port')}"