mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
This commit is contained in:
parent
7f04ee1eb4
commit
77befcf5d7
10 changed files with 34 additions and 1 deletions
4
changelogs/fragments/48936-import-handlers.yaml
Normal file
4
changelogs/fragments/48936-import-handlers.yaml
Normal file
|
@ -0,0 +1,4 @@
|
|||
bugfixes:
|
||||
- imports - Prevent the name of an import from being addressable as a handler, only the tasks within should
|
||||
be addressable. Use an include instead of an import if you need to execute many tasks from a single handler
|
||||
(https://github.com/ansible/ansible/issues/48936)
|
|
@ -402,7 +402,7 @@ class StrategyBase:
|
|||
|
||||
def parent_handler_match(target_handler, handler_name):
|
||||
if target_handler:
|
||||
if isinstance(target_handler, (TaskInclude, IncludeRole)):
|
||||
if isinstance(target_handler, (TaskInclude, IncludeRole)) and not getattr(target_handler, 'statically_loaded', True):
|
||||
try:
|
||||
handler_vars = self._variable_manager.get_vars(play=iterator._play, task=target_handler)
|
||||
templar = Templar(loader=self._loader, variables=handler_vars)
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
- hosts: localhost
|
||||
gather_facts: false
|
||||
tasks:
|
||||
- import_role:
|
||||
name: include_handler_test
|
||||
|
||||
- hosts: localhost
|
||||
gather_facts: false
|
||||
tasks:
|
||||
- import_role:
|
||||
name: import_handler_test
|
|
@ -0,0 +1,2 @@
|
|||
- name: do_import
|
||||
import_tasks: tasks/handlers.yml
|
|
@ -0,0 +1,2 @@
|
|||
- debug:
|
||||
msg: import handler task
|
|
@ -0,0 +1,3 @@
|
|||
- command: "true"
|
||||
notify:
|
||||
- do_import
|
|
@ -0,0 +1,2 @@
|
|||
- name: do_include
|
||||
include_tasks: tasks/handlers.yml
|
|
@ -0,0 +1,2 @@
|
|||
- debug:
|
||||
msg: include handler task
|
|
@ -0,0 +1,3 @@
|
|||
- command: "true"
|
||||
notify:
|
||||
- do_include
|
|
@ -86,3 +86,7 @@ ansible-playbook public_exposure/no_overwrite_roles.yml -i ../../inventory "$@"
|
|||
|
||||
# https://github.com/ansible/ansible/pull/48068
|
||||
ansible-playbook run_once/playbook.yml "$@"
|
||||
|
||||
# https://github.com/ansible/ansible/issues/48936
|
||||
ansible-playbook -v handler_addressing/playbook.yml 2>&1 | tee test_handler_addressing.out
|
||||
test "$(egrep -c 'include handler task|ERROR! The requested handler '"'"'do_import'"'"' was not found' test_handler_addressing.out)" = 2
|
||||
|
|
Loading…
Reference in a new issue