我的 erb 模板中有一个 hiera 变量用于一个条件检查。
<% if @server_name == 'jira-dev-api'
升级到 puppet 5 后,if
循环中的此变量不起作用。但这将在 erb 模板中采用正确的值,而无需if
语句。
我尝试了用于 hiera 调试的木偶查找,它工作正常。该变量在同一个模块中定义,如下所示。
module_name::install_confluence_apache_config::server_name=xyz
当我附加一个带有绝对路径的作用域时,如下所示,
scope['module_name::install_confluence_apache_config::server_name']
它有效。
木偶 5 中if
语句中的 erb 范围是否有任何变化?我使用的是puppet 3开源。
添加更多信息。
a)server_name 是在 "nodes/%{::clientcert}" yaml 文件中定义的变量。 b)我使用的是木偶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 语句中存在。
谢谢约翰和亚历克斯。
这是一个范围问题,因为 John 说它之前在 3.8 中使用@syntax可能是由于错误。