FATAL execution without any failures?

Hi ansible gurus!

I’m writing a python script that uses ansible.playbook to do a rolling update, but I’m very confused by the following output at the end of my execution:

FATAL: all hosts have already failed – aborting

{‘unreachable’: 0, ‘skipped’: 0, ‘ok’: 2, ‘changed’: 1, ‘failures’: 0}

{‘unreachable’: 0, ‘skipped’: 0, ‘ok’: 2, ‘changed’: 1, ‘failures’: 0}

{‘unreachable’: 0, ‘skipped’: 0, ‘ok’: 2, ‘changed’: 1, ‘failures’: 0}

The “FATAL: all hosts have already failed – aborting” message was printed by run() in

pb = ansible.playbook.PlayBook(…)

pb.run()

And I printed the last 3 lines with:

hosts = sorted(pb.stats.processed.keys())

#display(callbacks.banner(“PLAY RECAP”))

playbook_cb.on_stats(pb.stats)

for h in hosts:

t =pb.stats.summarize(h)

if t[‘failures’] > 0:

failed_hosts.append(h)

if t[‘unreachable’] > 0:

unreachable_hosts.append(h)

print t

Can someone please explain to me why I’m getting a FATAL error message after ansible successfully executed on 3 nodes (3x ‘ok’ messages).

More info:

I have serial=2 and max_fail_percent=50

[maltfield@localhost altfield]$ ansible --version

ansible 1.5

[maltfield@ localhost altfield]$ uname -a

Linux zce-admin-02 2.6.32-220.23.1.el6.x86_64 #1 SMP Mon Jun 18 18:58:52 BST 2012 x86_64 x86_64 x86_64 GNU/Linux

Thank you,

Michael Altfield

Any chance you have any local plays in your playbook? something like


- hosts: 127.0.0.1
  connection: local

Unfortunately, no. Here’s my playbook:

[maltfield@localhost altfield]$ cat ansible/uptime.yml