Ansible handlers созданы для этого типа проблемы, когда вы хотите выполнить задачу один раз в конце операции, даже если она была запущена несколько раз в игре.
Вы можете определить раздел обработчика в своей книге игр и уведомить об этом в задачах, обработчики не будут запускаться, пока не получено уведомление от задачи, и будут выполняться только один раз, независимо от того, сколько раз они были уведомлены.
handlers:
- name: hipchat notify
hipchat:
room: someroom
msg: tomcat stopped on pod 1
В ваших игровых задачах просто включите "уведомление" о задачах, которые должны вызвать обработчик, и если они изменятся, он запустит обработчик после того, как все задачи будут выполнены.
- name: Stop service httpd, if started
service:
name: httpd
state: stopped
notify:
- hipchat notify