2016-06-21 12 views
2

Ich habe das folgende Playbook mit 3 Spielen. Wenn einer der Spiele fehlschlägt, werden die nächsten Spiele immer noch ausgeführt. Ich denke, es liegt daran, dass ich diese Spiele mit einem anderen Host-Ziel betreibe.Wie man das Playbook stoppt, wenn ein Spiel fehlschlägt

Ich möchte dies vermeiden und das Playbook stoppen, wenn ein Spiel fehlschlägt, ist es möglich?

--- 
- name: create the EC2 instances 
    hosts: localhost 
    any_errors_fatal: yes 
    connection: local 
    tasks: 
    - ... 

- name: configure instances 
    hosts: appserver 
    any_errors_fatal: yes 
    gather_facts: true 
    tasks: 
    - ... 

- name: Add to load balancer 
    hosts: localhost 
    any_errors_fatal: yes 
    vars: 
    component: travelmatrix 
    tasks: 
    - ... 

Antwort

3

Sie können any_errors_fatal verwenden, das die Wiedergabe stoppt, wenn Fehler auftreten.


- name: create the EC2 instances 
    hosts: localhost 
    connection: local 
    any_errors_fatal: true 
    tasks: 
    - ... 

Reference Link

+0

Das funktioniert nicht, weil 'any_errors_fatal' Markierungen nur die Gastgeber im Spiel als gescheitert, aber das nächste Spiel gilt für einen anderen Host (es auf localhost tatsächlich gilt). Ich habe das Playbook in der Frage aktualisiert, um zu zeigen, dass 'any_error_fatals' bereits gesetzt ist. – David

+0

Es tut mir leid, ich habe nicht richtig getestet. Deine Antwort ist richtig. SO lässt mich die -1 im Moment nicht entfernen, aber ich werde die Antwort akzeptieren. – David