erb`if`语句中的hiera变量

时间:2019-03-28 11:59:46

标签: puppet erb hiera

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

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

升级到人偶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模板中的语句中存在。

1 个答案:

答案 0 :(得分:-1)

感谢约翰和亚历克斯。

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