erb`if`语句中的Puppet hiera变量

问题描述 投票:-2回答:1

我的erb模板中有一个hiera变量用于一个条件检查。

<% if @server_name == 'jira-dev-api'

升级到puppet 5之后,if循环中的此变量不起作用。但是如果没有erb模板中的if语句,这将采用正确的值。

  1. 我尝试了木偶查找hiera调试,它工作正常。变量在同一模块中定义如下。 module_name::install_confluence_apache_config::server_name=xyz
  2. 当我使用如下所示的绝对路径追加范围时, scope['module_name::install_confluence_apache_config::server_name'] 有用。

在傀儡5中的if声明中,erb范围是否有任何变化?我正在使用puppet 3开源。

添加更多信息。

a)server_name是在“nodes /%{:: clientcert}”yaml文件中定义的变量。 b)我使用的是puppet 3.8,工作erb模板如下所示

<% if @server_name == 'jira-dev-api'

c)升级到木偶5.5。但是观察到当我在上面的if语句中引用erb中的server_name变量时,值没有得到。但是当我使用时工作

scope['module_name::install_confluence_apache_config::server_name']

此问题也只在erb模板中的if语句中。

puppet erb hiera
1个回答
-1
投票

谢谢约翰和亚历克斯。

这是一个范围问题,因为约翰说它在3.8之前使用@syntax工作可能是由于这个bug。

© www.soinside.com 2019 - 2024. All rights reserved.