2017-01-24 5 views
0

Пытается вычесть число для переменной, которая является int в Ansible.Несложная математическая операция, субстрат

var: 
    number: 30 
tasks: 
    - set_fact: me={{ number -1 }} 
    - debug: var=me 

Expectation: me = 29

Результат:

fatal: [node1]: FAILED! => {"failed": true, "msg": "Unexpected templating type error occurred on ({{ number - 1 }}): unsupported operand type(s) for -: 'AnsibleUnicode' and 'int'"} 

ответ

3

Это известная проблема с анзиблем/Джинджей, что вы не можете сохранить числовой типа после шаблонов.

Используйте int фильтр внутри {{..}} выражения:

- set_fact: me={{ number | int - 1 }} 
+0

да. мой мужчина... – Kevin

Смежные вопросы