возможность откатить, если обновление пройдёт неуспешно. Как мне проитерироваться по версиям пакетов из facts_packages?
Так не работает:
- name: Check packages
ansible.builtin.debug:
msg: "Current {{ item.key }} version: {{ ansible_facts.packages.{{ item.key }}[0]['version'] }}\nWill be updated to: {{ item.value }}"
loop: "{{ packages | dict2items }}"
Если обновление пройдет не успешно, пакет не будет установлен Это как бы очевидно , если он будет установлен и он кривой или не от той системы, то печаль беда. Поэтому указывается версия пакетов на которую надо обновить в инвентори и прогоняют тесты, а потом глобально. Если надо сделать откат, то уже другой таской делают удаление пакета и установка другой версии
А что мне мешает одной таской это сделать? Я могу так пройтись по всем пакетам без loop и будет работать, мой вопрос был больше про синтаксис
Ну хотя бы то, что версии пакетов у вас должны быть уже записаны в инвентори
А можно пример, как это указывается в inventory? Как я понимаю, это для того, чтобы соответствовало IaC?
В инвентори просто указываете версию. А откат можно делать множеством способов, вплоть до "средствами пакетных менеджеров" с опцией downgrade: true
Обсуждают сегодня