Назад | Перейти на главную страницу

Можно ли использовать доступные задачи в качестве зависимостей?

В настоящее время у меня есть три доступных задачи:

Я зарегистрировал последние два как обработчики, но прямые уведомления ansible кажутся неправильными для того, что я делаю:

Мне нужна такая структура:

Просто потому, что семантика кажется более правильной. Это не должна быть просто последовательность, и что-то вроде теста конфигурации не должно уведомлять о перезагрузке, потому что это просто реализация последовательности снова без логики (например, для перезагрузки сначала требуется тест)

Простое условное выражение в вашей пьесе с использованием when должен работать, если вы игнорируете ошибки. По умолчанию запуск Ansible playbook прекращается при возникновении ошибки. Nginx configtest завершает работу с кодом состояния оболочки 0 об успехе и 1 при сбое, и вы можете использовать это для запуска различных задач в зависимости от результата -

tasks:
  - shell: service nginx configtest
    ignore_errors: True
    register: result

  - shell: service nginx reload
    when: result|success

  - local_action: mail subject='Nginx config error.'
    when: result|failed