Properly fail out of the task loop in the linear strategy on failures (v2)

pull/10943/head
James Cammarata 9 years ago
parent fba5588028
commit 8fae2abed4

@ -117,15 +117,17 @@ class PlaybookExecutor:
if len(batch) == 0:
self._tqm.send_callback('v2_playbook_on_play_start', new_play)
self._tqm.send_callback('v2_playbook_on_no_hosts_matched')
result = 0
result = 1
break
# restrict the inventory to the hosts in the serialized batch
self._inventory.restrict_to_hosts(batch)
# and run it...
result = self._tqm.run(play=play)
# if the last result wasn't zero, break out of the serial batch loop
if result != 0:
break
# if the last result wasn't zero, break out of the play loop
if result != 0:
break
@ -134,6 +136,10 @@ class PlaybookExecutor:
if entry:
entrylist.append(entry) # per playbook
# if the last result wasn't zero, break out of the playbook file name loop
if result != 0:
break
if entrylist:
return entrylist

@ -226,6 +226,9 @@ class StrategyModule(StrategyBase):
# FIXME: this should also be moved to the base class in a method
included_files = []
for res in host_results:
if res.is_failed():
return 1
if res._task.action == 'include':
if res._task.loop:
include_results = res._result['results']

@ -0,0 +1,9 @@
- hosts: localhost
gather_facts: no
tasks:
- fail:
- hosts: localhost
gather_facts: no
tasks:
- debug: msg="you should not see me..."
Loading…
Cancel
Save