Использование ansible переменных в выражении когда - PullRequest
0 голосов
/ 17 мая 2019

Я использую переменную ansible_hostname в операторе when, чтобы найти строку, содержащую ее в команде stdout, например:

when: result.stdout.find("some stdout text {{ansible_hostname}}") == -1

или

when: result.stdout.find("some stdout text {{ansible_hostname}}") != -1

, и мои задачи работают, как и ожидалось, но отвечаютвыдает предупреждение об использовании шаблона jinja2 в операторе when:

[WARNING]: when statements should not include jinja2 templating delimiters such as {{ }} or {% %}

Итак, как правильно передать ansible_hostname внутри строки для поиска в stdout?

Ответы [ 2 ]

1 голос
/ 17 мая 2019

Следующим вариантом будет использование этого условия

when: "'some stdout text ' ~ ansible_hostname in result.stdout"
0 голосов
/ 17 мая 2019

Решено как:

when: result.stdout.find('some stdout text ' ~ ansible_hostname) == -1
...