Избегание шаблонизатора дзиндзя в выражениях

В настоящее время я портирую свои книги Plays от Ansible с версии 2.1 до 2.7. Ansible теперь выводит предупреждение, если я использую разделители шаблонов jinja, такие как {{ .. }} в предложении when.

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

У меня не было проблем, чтобы изменить его на простых условных выражениях, но мне интересно, как это исправить:

- shell: pg_lsclusters -h | awk '{print $2 " " $6}'
  register: postgresql_lsclusters
  changed_when: false
  check_mode: no

- fail: 
    msg="test"
  when: postgresql_lsclusters.stdout.find("{{ postgresql_cluster }} {{ postgresql_data_dir }}/{{ postgresql_version }}/{{ postgresql_cluster }}") == -1

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

when: postgresql_lsclusters.stdout.find(postgresql_cluster ~ ' ' ~ postgresql_data_dir ~ '/' ~ postgresql_version ~ '/' ~ postgresql_cluster") == -1`

1 ответ

Что-то вроде этого?

      - name: PG cluster find
  vars:
    big_pg_var: "{{ postgresql_cluster }} {{ postgresql_data_dir }}/{{ postgresql_version }}/{{ postgresql_cluster }}"
  fail:
    msg="test"
  when: postgresql_lsclusters.stdout.find(big_pg_var) == -1
Другие вопросы по тегам