Комментарии 5
with_items давно deprecated в пользу loop
Ansible давно deprecated в пользу jet https://habr.com/ru/companies/flant/news/751402/.
Мой вариант: вообще ничего не надо провиженить через ssh.
VM деплоятся из готового неизменяемого образа используя terraform
образы собираются с помощью packer
Обновление - пересоздание vm из нового образа
Подход называется immutable infrastructure
профит - гарантия полной идентичности хостов и отсутствие ошибок операторов (тик никто ничего не «админит»)
кроме того старт vm из готового образа значительно быстрее чем прогон плейбука (если это настоящий плейбук а не школьный пример)
Приведенный пример плейбука - просто жесть. Такое нагромождение антипаттернов еще поискать нужно. Там и строчный синтаксис в плейбуке вместо нормального yaml, и ненужные в модулях apt и pip циклы with_items, и совершенно дикие и несогласованные отступы в структуре модулей...
Стратегии плейбуков и lookups в Ansible