Это может быть скорее вопрос дизайна, чем вопрос синтаксиса. У меня есть набор игровых книжек Ansible, отвечающих за настройку различных системных служб для настройки сервера определенным образом. Я уверен, что это очень типичный случай использования. Однако, мой вопрос: каков наилучший способ выключить и отключить службы, прежде чем продолжить установку и настройку? Вот мои требования:
- Должен быть в состоянии просто отключить и отключить службы на наборе серверов без запуска установки
- Также должен иметь возможность выключить / отключить и затем продолжитьс установкой
- Если мы выполняем завершение работы с последующей установкой, следует очистить все невыделенные узлы и выбрать для установки выделенную группу узлов
Например,скажем, у меня есть 3 сервера: A, B, C и у меня есть 2 службы для установки и настройки: httpd и nginx. Мой файл hosts выглядит следующим образом:
[apache]
A
C
[nginx]
B
Конечный результат должен иметь httpd, работающий на серверах A и C (и выключение / отключение на B), с Nginx на B (и выключение / отключение на A иC).
Мои первоначальные мысли о возможных решениях этого:
- Создание отдельных сборников игр для запуска каждого удаления (поскольку у меня уже есть сборники игр для установки) (это может быть правильно,но, конечно, много дублирования кода и больше работы)
- Создайте дополнительное задание, которое располагается рядом с файлом main.yml в существующих ролях установки (Возможно ли это? Это правильно, если так.)
- Мастер деинсталляции PlayBook, который можно вызвать непосредственно перед запуском любой инсталляции Playbook. (Это неправильно)