Невозможно использовать выбранное совпадение в ansible 2.8 - PullRequest
0 голосов
/ 09 июля 2020

Для этого фрагмента кода

"{{ recap_check.split('-')[1:] | select('!=','linux') | join('_') }}"

Я получаю эту ошибку:

TemplateRuntimeError: нет теста с именем '! ='

Тот же фрагмент кода отлично работает в 2.7. Возможно, переменная, которую я отправляю задаче, не загружается.

Ответы [ 2 ]

0 голосов
/ 09 июля 2020

Итак, я не знаю, почему выбор не работает, но вот как он решил. После распечатки большого количества отладок

recap_check = 0-ueg-eeprom- linux

recap_role: "{{ recap_check.split('-')[1:2] | join('_') }}" 

фильтр выбора для '! ~' Или 'ne' не работает в ansible2 .8 среда.

0 голосов
/ 09 июля 2020

select использует встроенные тесты от Jinja. В приведенном выше списке тестов вы можете видеть, что не равно на самом деле ne.

Итак, ваша строка Jinja должна быть:

"{{ recap_check.split('-')[1:] | select('ne', 'linux') | join('_') }}"
...