Я работаю над сценарием конфигурации для определенной службы и хочу, чтобы он был шаблоном для наших инструментов управления конфигурацией (Ansible). Однако есть конкретное действие, которое кажется ограничением Jinja2 (если это слово приемлемо в данном случае), которое я не могу преодолеть:
{% set min = 0 %}
{% set max = 5500 %}
{% for item in list_of_items %}
for i in {min..max}; do command {{ item }} --arg 1 commnand_stuff $i; done
{% set min = max + 1 %}
{% set max = max * 2 %}
#fi
{% endfor %}
Ожидаемый (желаемый) результат:
- итерация 1 - min = 0, max = 5500
- итерация 2 - min = 5501, max = 11000
..
Фактический результат:
- min и max имеют постоянное значение на всех итерациях цикла - min=0 и max=5500.
Итак, как мне изменить глобальную переменную в Jinja2 в цикле for?

задавать не работает внутри цикла. См. присваивание переменной внутри цикла.
Вместо этого можно использовать петля.индекс. Шаблон ниже
{% for item in list_of_items %}
{{ 5500 * (loop.index-1) + 1 }}..{{ 5500 * loop.index }}
{% endfor %}
дает
1..5500
5501..11000
11001..16500