Сбой проверки состояния в 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. Но не повезло.