diff --git a/lib/ansible/runner/poller.py b/lib/ansible/runner/poller.py index 5fd3537480..0218481415 100644 --- a/lib/ansible/runner/poller.py +++ b/lib/ansible/runner/poller.py @@ -43,6 +43,7 @@ class AsyncPoller(object): self.active = True else: skipped = skipped and res.get('skipped', False) + self.runner.vars_cache[host]['ansible_job_id'] = '' self.results['contacted'][host] = res for (host, res) in results['dark'].iteritems(): self.runner.vars_cache[host]['ansible_job_id'] = '' diff --git a/test/integration/roles/test_async/tasks/main.yml b/test/integration/roles/test_async/tasks/main.yml index b83227791b..556284770a 100644 --- a/test/integration/roles/test_async/tasks/main.yml +++ b/test/integration/roles/test_async/tasks/main.yml @@ -56,3 +56,9 @@ - "'ansible_job_id' in async_result" - "'started' in async_result" - "'finished' not in async_result" + +- name: test skipped task handling + command: /bin/true + async: 15 + poll: 0 + when: False