Сбой проверки состояния в Ansible 2.0

У меня есть код ниже, который делает некоторые вычисления.

- set_fact:
    convtime: "{{((total_packets|int - received|int)*1000 / packets_per_sec|int)|int}}"

Правильно возвращает некоторое число без проблем.

Позже в коде я проверил условную проверку следующим образом.

- set_fact:
    more_convergence: true
    when: "{{ convtime }} > 1000"

Теперь это терпит неудачу, в том смысле, что в большинстве случаев значение "convtime" будет меньше 1000. Но эта условная проверка всегда завершается успешно, и булево значение устанавливается в true.

Пример журнала Ansible ниже:

ok: [falco-test-dut02] => {"ansible_facts": {"more_convergence": true, "when": "0 > 1000"}, "changed": false, "invocation": {"module_args": {"more_convergence": true, "when": "0 > 1000"}, "module_name": "set_fact"}}

В этом случае значение "convtime" равно нулю. Но все равно значение логической переменной установлено в true.

Я даже пытался типизировать значение "convtime" для int. Но не повезло.

0 ответов

Другие вопросы по тегам