Как запустить задачу, если какая-то из ролей не удалась?

У нас есть наши задачи проверки, определенные в ролях.

- name: validation Operations
  hosts: all
  become: yes
  gather_facts: yes
  serial: 1
  roles:
    - StorageArray_setup_cleanup
    - StorageArray_restapi
    - StorageArray_operations
    - StorageArray_operations_negative

В этих ролях присутствует факт под названием «testreport». (testreport - это имя файла журнала.) Если какая-либо из ролей не удалась, мне нужно отобразить содержимое testreport через задачу, чтобы пользователь мог знать до сбоя, сколько проверок пройдено.

В случае блоков обработка ошибок есть, например, спасение и всегда. Но когда дело доходит до ролей, я их не нахожу. (Уже есть вопрос, но что будет работать, если задача не удалась. В моем случае на основе ошибки роли мне нужно выполнить задачу)

Как запустить задачу, если роли не удались?


person Samselvaprabu    schedule 24.06.2019    source источник
comment
@LinSel Этот пост будет работать, если задача не удалась. Используя блоки, я могу решить эту проблему. Но в моей пьесе только роли. Так что это решение не сработает   -  person Samselvaprabu    schedule 24.06.2019
comment
я думаю, что @LinSel прав: ваши роли состоят из задач, поэтому, если задача в ваших ролях не выполняется, ваша текущая роль не работает, и это вызовет rescue: в вашем плейбуке.   -  person tassinp    schedule 24.06.2019
comment
@Samselvaprabu (и tassinp): ссылка не о задачах/ролях и не о блокировке/спасении. Принятым решением является slack, который отправляет обновления статуса (о задачах, ролях, блокировке, спасении и т. д.) в канал Slack.   -  person Vladimir Botka    schedule 24.06.2019