Sorry, I should have specified this was with 2.0.1.0. You're correct. Version 2.1.1.0 gives me the behavior I'm looking for.
Thanks! Gordon Towne On Thursday, August 11, 2016 at 2:50:18 PM UTC-5, James Cammarata wrote: > > Hi Gordon, with which version of Ansible did you see this? There were > quite a few fixes in 2.1+ for this, so if you're using 2.0.x you may want > to consider trying out a more recent version. > > James Cammarata > > Ansible Lead/Sr. Principal Software Engineer > Ansible by Red Hat > twitter: @thejimic, github: jimi-c > > On Thu, Aug 11, 2016 at 10:55 AM, Gordon Towne <[email protected] > <javascript:>> wrote: > >> I have a playbook with multiple plays, where each play is executed on a >> different group of hosts. The behavior that I'm looking for is that if any >> host in any group is unreachable, the whole playbook fails immediately. >> >> Below is a small repro of the behavior I'm seeing. Using >> any_errors_fatal, I'm able to prevent any steps in the first play from >> running if any of the hosts in the group are inaccessible. However, since >> all of the hosts in the second play are accessible, that play still runs. >> >> Is there a way that I can get the playbook run to fail out as soon as the >> first play fails? >> >> executing with >> >> ansible-playbook playbook-test-unreachable-fatal.yml -i inventory >> >> inventory: >> [just_good_host] >> localhost ansible_connection=local >> >> [good_and_bad_hosts] >> localhost ansible_connection=local >> not.a.real.host.com >> >> >> playbook-test-unreachable-fatal.yml: >> --- >> - name: Try to write a timestamp to a file on all hosts >> gather_facts: true >> hosts: good_and_bad_hosts >> any_errors_fatal: true >> tasks: >> - name: > >> Add a timestamp to a file, when run with any_errors_fatal=true, >> this will never get run on any host, as I expect >> lineinfile: >> create: yes >> dest: "{{ ansible_env.HOME}}/test_file_1.txt" >> state: present >> line: "{{ ansible_date_time.iso8601 }}" >> >> - name: Try to write a timestamp to a file on just the good host >> gather_facts: true >> hosts: just_good_host >> any_errors_fatal: true >> tasks: >> - name: > >> Add a timestamp to a second file, this succeeds on the accessible >> host, >> despite a fatal error having occurred in a previous play in this >> playbook >> lineinfile: >> create: yes >> dest: "{{ ansible_env.HOME}}/test_file_2.txt" >> state: present >> line: "{{ ansible_date_time.iso8601 }}" >> >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Ansible Development" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- You received this message because you are subscribed to the Google Groups "Ansible Development" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
