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.

Reply via email to