簡體   English   中英

erb `if` 語句中的 Puppet hiera 變量

[英]Puppet hiera variable in erb `if` statement

我的 erb 模板中有一個 hiera 變量,用於一個條件檢查。

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

升級到 puppet 5 后, if循環中的這個變量不起作用。 但是, if沒有 erb 模板中的if語句,這將采用正確的值。

  1. 我嘗試使用 puppet 查找進行 hiera 調試,並且運行良好。 該變量在與下面相同的模塊中定義。

     module_name::install_confluence_apache_config::server_name=xyz
  2. 當我使用如下所示的絕對路徑附加范圍時,

     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) 升級到 puppet 5.5。但是觀察到當我在上面的 if 語句中引用 erb 中的 server_name 變量時,該值沒有得到。但是在我使用時工作

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

此外,此問題僅存在於 erb 模板中的 if 語句中。

謝謝約翰和亞歷克斯。

這是一個范圍問題,因為約翰說它之前在 3.8 中使用 @syntax 工作可能是由於錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM