erb `if` 语句中的 Puppet hiera 变量
Puppet hiera variable in erb `if` statement
我的 erb 模板中有一个 hiera 变量用于一次条件检查。
<% if @server_name == 'jira-dev-api'
升级到 puppet 5 后,if
循环中的这个变量不起作用。但这将在 erb 模板中没有 if
语句的情况下采用正确的值。
我尝试了 puppet lookup for hiera debugging,它工作正常。该变量在与下面相同的模块中定义。
module_name::install_confluence_apache_config::server_name=xyz
当我附加一个带有绝对路径的范围时,
scope['module_name::install_confluence_apache_config::server_name']
有效。
puppet 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.But 观察到当我在 erb 中引用 server_name 变量时,如上所述,当我使用
scope['module_name::install_confluence_apache_config::server_name']
另外,这个问题只存在于 erb 模板中的 if 语句中。
谢谢约翰和亚历克斯。
这是一个范围问题,因为 John 说它在 3.8 之前使用@syntax 工作可能是由于错误。
我的 erb 模板中有一个 hiera 变量用于一次条件检查。
<% if @server_name == 'jira-dev-api'
升级到 puppet 5 后,if
循环中的这个变量不起作用。但这将在 erb 模板中没有 if
语句的情况下采用正确的值。
我尝试了 puppet lookup for hiera debugging,它工作正常。该变量在与下面相同的模块中定义。
module_name::install_confluence_apache_config::server_name=xyz
当我附加一个带有绝对路径的范围时,
scope['module_name::install_confluence_apache_config::server_name']
有效。
puppet 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.But 观察到当我在 erb 中引用 server_name 变量时,如上所述,当我使用
scope['module_name::install_confluence_apache_config::server_name']
另外,这个问题只存在于 erb 模板中的 if 语句中。
谢谢约翰和亚历克斯。
这是一个范围问题,因为 John 说它在 3.8 之前使用@syntax 工作可能是由于错误。