который выполняет работу последовательно хост за хостом и в случае ошибки на одном из хостов выполняет ролбек на всех задействованых ранее в работе плейбука хостах?
Последовательно - serial: 1 В случае ошибки прервать весь плейбук - any_errors_fatal: yes А вот насчёт rollback, такого функционала у ансибла нет, насколько я знаю.
По идее для этого нужен свой strategy plugin + _все_ модули должны этот самый роллбэк поддерживать (niet).
На мой взгляд, это один из самых главных недостатков ансибла - невозможность откатится на начальное состояние :)
Ну если вспомнить про идемпотентность, то всё становится на свои места. Откат должен реализовываться внутри модулей, чтобы вызов был атомарным (состояние системы либо совпадает с описанным, либо прежнее). Но для этого надо слишком много кодить, поэтому авторы модулей, как правило, не заморачиваются.
Если вся конфигурация создается ансиблом, то все просто. Накатываешь предыдущую версию плейбука с ролями - и все.
Это тестовое задание от работодателя, в задаче необходимо написать "скрипт с ролбеком" я решил уточнить возможно ли в один плейбук всунуть установку и ролбек. Сделаю разными ролями.
Понятно. Свой технический долг закрывают, как обычно.
https://github.com/ansistrano/deploy
Что "неть"?
у большинства ансибловых модулей есть проблема "грязной жопы". и запуск плейбука с переменными из предыдущего коммита не означает возврат в предыдущее состояние
Это уже вопрос того, как сделана плейбука и вообще организована инфраструктура. В идеале это вообще immutable с билдом образов.
Обсуждают сегодня