mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-04-16 13:51:09 +00:00
When setting fail state skip RESCUE/ALWAYS if cur_block doesn't have them
Fixes #13749
This commit is contained in:
@@ -342,13 +342,21 @@ class PlayIterator:
|
||||
state.tasks_child_state = self._set_failed_state(state.tasks_child_state)
|
||||
else:
|
||||
state.fail_state |= self.FAILED_TASKS
|
||||
state.run_state = self.ITERATING_RESCUE
|
||||
if state._blocks[state.cur_block].rescue:
|
||||
state.run_state = self.ITERATING_RESCUE
|
||||
elif state._blocks[state.cur_block].always:
|
||||
state.run_state = self.ITERATING_ALWAYS
|
||||
else:
|
||||
state.run_state = self.ITERATING_COMPLETE
|
||||
elif state.run_state == self.ITERATING_RESCUE:
|
||||
if state.rescue_child_state is not None:
|
||||
state.rescue_child_state = self._set_failed_state(state.rescue_child_state)
|
||||
else:
|
||||
state.fail_state |= self.FAILED_RESCUE
|
||||
state.run_state = self.ITERATING_ALWAYS
|
||||
if state._blocks[state.cur_block].always:
|
||||
state.run_state = self.ITERATING_ALWAYS
|
||||
else:
|
||||
state.run_state = self.ITERATING_COMPLETE
|
||||
elif state.run_state == self.ITERATING_ALWAYS:
|
||||
if state.always_child_state is not None:
|
||||
state.always_child_state = self._set_failed_state(state.always_child_state)
|
||||
|
||||
Reference in New Issue
Block a user