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