mirror of
https://github.com/zebrajr/ansible.git
synced 2025-12-06 12:19:53 +01:00
Expose ansible_failed_task in rescue for explicit flush_handlers (#85687)
Fixes #85682
This commit is contained in:
parent
b1fc98c8ad
commit
c5ddc93767
2
changelogs/fragments/85682-rescue-flush_handlers.yml
Normal file
2
changelogs/fragments/85682-rescue-flush_handlers.yml
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
bugfixes:
|
||||
- The ``ansible_failed_task`` variable is now correctly exposed in a rescue section, even when a failing handler is triggered by the ``flush_handlers`` task in the corresponding ``block`` (https://github.com/ansible/ansible/issues/85682)
|
||||
|
|
@ -574,7 +574,7 @@ class PlayIterator:
|
|||
Given the current HostState state, determines if the current block, or any child blocks,
|
||||
are in rescue mode.
|
||||
"""
|
||||
if state.run_state == IteratingStates.TASKS and state.get_current_block().rescue:
|
||||
if state.run_state in (IteratingStates.TASKS, IteratingStates.HANDLERS) and state.get_current_block().rescue:
|
||||
return True
|
||||
if state.tasks_child_state is not None:
|
||||
return self.is_any_block_rescuing(state.tasks_child_state)
|
||||
|
|
|
|||
16
test/integration/targets/handlers/rescue_flush_handlers.yml
Normal file
16
test/integration/targets/handlers/rescue_flush_handlers.yml
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
- hosts: localhost
|
||||
gather_facts: false
|
||||
tasks:
|
||||
- block:
|
||||
- debug:
|
||||
changed_when: true
|
||||
notify: h1
|
||||
|
||||
- meta: flush_handlers
|
||||
rescue:
|
||||
- assert:
|
||||
that:
|
||||
- ansible_failed_task is defined
|
||||
handlers:
|
||||
- name: h1
|
||||
fail:
|
||||
|
|
@ -230,3 +230,5 @@ ansible-playbook handler_notify_earlier_handler.yml "$@" 2>&1 | tee out.txt
|
|||
ANSIBLE_DEBUG=1 ansible-playbook tagged_play.yml --skip-tags the_whole_play "$@" 2>&1 | tee out.txt
|
||||
[ "$(grep out.txt -ce 'META: triggered running handlers')" = "0" ]
|
||||
[ "$(grep out.txt -ce 'handler_ran')" = "0" ]
|
||||
|
||||
ansible-playbook rescue_flush_handlers.yml "$@"
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user