Переменная кукольного типа в выражении erb `if` - PullRequest
0 голосов
/ 28 марта 2019

У меня есть переменная hiera в шаблоне erb для одной проверки состояния.

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

После обновления до версии 5 эта переменная в цикле if не работает.Но это примет правильные значения без оператора if в шаблоне erb.

  1. Я попробовал поиск кукол для отладки hiera, и он работает нормально.Переменная определяется в том же модуле, что и ниже.

    module_name::install_confluence_apache_config::server_name=xyz
    
  2. Когда я добавил область с абсолютным путем, как показано ниже,

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

    , это работает.

Есть ли какие-либо изменения в erb scoping в выражении if в марионетке 5?Я использовал Puppet 3 с открытым исходным кодом.

Добавление дополнительной информации.

a) имя_сервера - это переменная, определенная в файле yaml "node /% {:: clientcert}".б) Я использовал Puppet 3.8, и рабочий шаблон erb был таким, как показано ниже

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

в) обновлен до марионетки 5.5. Но заметил, что когда я ссылаюсь на переменную server_name в erb в операторе if, как указано выше, значение равноне получается. Но работает, когда я использую

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

Также эта проблема только внутри, если в шаблоне erb.

1 Ответ

0 голосов
/ 29 марта 2019

Спасибо, Джон и Алекс.

Это была проблема с областью, так как Джон сказал, что она работала раньше в 3.8 с использованием @syntax, возможно, из-за ошибки.

...