【问题标题】:Puppet/Hiera: hashed variable definition is not replacedPuppet/Hiera:未替换散列变量定义
【发布时间】:2014-05-15 11:17:02
【问题描述】:

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

【问题讨论】:

    标签: puppet hiera


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多