From 06fce4e2a238e0f2c3d5ef447c28ead1cc5a2e0c Mon Sep 17 00:00:00 2001 From: Abhijeet Kasurde Date: Thu, 15 Jan 2026 11:55:45 -0800 Subject: [PATCH] strategy: added a space in message (#86373) * strategy: added a space in message Signed-off-by: Abhijeet Kasurde Co-authored-by: flowerysong --- lib/ansible/plugins/strategy/__init__.py | 2 +- .../meta_tasks/roles/end_role_sample/tasks/main.yml | 5 +++++ test/integration/targets/meta_tasks/runme.sh | 7 +++++++ test/integration/targets/meta_tasks/test_end_role.yml | 6 ++++++ 4 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 test/integration/targets/meta_tasks/roles/end_role_sample/tasks/main.yml create mode 100644 test/integration/targets/meta_tasks/test_end_role.yml diff --git a/lib/ansible/plugins/strategy/__init__.py b/lib/ansible/plugins/strategy/__init__.py index 39b3851125a..d5ddd386d78 100644 --- a/lib/ansible/plugins/strategy/__init__.py +++ b/lib/ansible/plugins/strategy/__init__.py @@ -999,7 +999,7 @@ class StrategyBase: msg = 'ending role %s for %s' % (task._role.get_name(), target_host.name) else: skipped = True - skip_reason += 'continuing role %s for %s' % (task._role.get_name(), target_host.name) + skip_reason += ', continuing role %s for %s' % (task._role.get_name(), target_host.name) elif meta_action == 'reset_connection': all_vars = self._variable_manager.get_vars(play=iterator._play, host=target_host, task=task, _hosts=self._hosts_cache, _hosts_all=self._hosts_cache_all) diff --git a/test/integration/targets/meta_tasks/roles/end_role_sample/tasks/main.yml b/test/integration/targets/meta_tasks/roles/end_role_sample/tasks/main.yml new file mode 100644 index 00000000000..43260dc4f1f --- /dev/null +++ b/test/integration/targets/meta_tasks/roles/end_role_sample/tasks/main.yml @@ -0,0 +1,5 @@ +- debug: + msg: "Testing end_role on host {{ inventory_hostname }}" + +- meta: end_role + when: end_role_cond == '2' diff --git a/test/integration/targets/meta_tasks/runme.sh b/test/integration/targets/meta_tasks/runme.sh index feb51ae88a8..4ace6a8bb80 100755 --- a/test/integration/targets/meta_tasks/runme.sh +++ b/test/integration/targets/meta_tasks/runme.sh @@ -79,3 +79,10 @@ ansible-playbook -i inventory_refresh.yml refresh_preserve_dynamic.yml "$@" # test rc when end_host in the rescue section ANSIBLE_FORCE_HANDLERS=0 ansible-playbook test_end_host_rescue_rc.yml + +# test end_role meta task +for test_strategy in linear free; do + out="$(ansible-playbook test_end_role.yml -i inventory.yml -e test_strategy=$test_strategy -e end_role_cond=1 -vv "$@")" + + grep -q "META: end_role conditional evaluated to False," <<< "$out" +done diff --git a/test/integration/targets/meta_tasks/test_end_role.yml b/test/integration/targets/meta_tasks/test_end_role.yml new file mode 100644 index 00000000000..282f4917fdc --- /dev/null +++ b/test/integration/targets/meta_tasks/test_end_role.yml @@ -0,0 +1,6 @@ +- name: Testing end_role with strategy {{ test_strategy | default('linear') }} + hosts: testhost:testhost2 + gather_facts: no + strategy: "{{ test_strategy | default('linear') }}" + roles: + - end_role_sample