Edycja: jeśli masz Ansible 2.2 lub nowszy, użyj odpowiedzi mkadana. Poniższa odpowiedź nie działa w nowszych wersjach Ansible. Zauważ również, że zgodnie z komentarzem Enisa Afgana poniżej, z powodu błędu, ta odpowiedź nie działa z wersjami Ansible między 2.0.2 a 2.1.2.
Począwszy od Ansible 2.0, możesz użyć akcji włączania w programie obsługi, aby uruchomić wiele zadań.
Na przykład umieść swoje zadania w osobnym pliku restart_tasks.yml
(jeśli używasz ról, które trafią do podkatalogu zadań, a nie do podkatalogu obsługi):
- name: Restart conditionally step 1
shell: check_is_started.sh
register: result
- name: Restart conditionally step 2
service: name=service state=restarted
when: result
Twój przewodnik byłby wtedy po prostu:
- name: Restart conditionally
include: restart_tasks.yml
Źródło: wątek problemowy na github: https://github.com/ansible/ansible/issues/14270