есть общая перменная с определенным значением. Например 99.
Как можно и можно ли кошерно для каждого хоста увеличить ее на 1?
Например, на первом хосте 100, на втором 101, на третьем 102 и т.д
точнее уменьшить. но не суть)
{{ (groups[group_name]|sort).index(ansible_host) }} - выдает номер хоста в группе, дальше простое сложение
Пахнет неидемпотеностью :)
я знаю 😒 но иначе много ямлострок
Jinja to the rescue
будто все плейбуки идемпотентны, кек
я для таких вещей творю такую дичь в переменных для группы hosts: " {%- set ips = [] %} {%- for host in groups["имя группы"] %} {{- ips.append(dict(id=loop.index, host=host, ip=hostvars[host]['ansible_ssh_host'])) }} {%- endfor %} {{- ips -}}" а потом priority: "{{ keepalived_priority_max - hosts | selectattr('host', 'equalto', inventory_hostname)| map(attribute='id') |first}}"
with sequence ещё есть
Обсуждают сегодня