From 78bdb078fea7eb7dc14a50ae2476d441f97957c5 Mon Sep 17 00:00:00 2001 From: James Cammarata Date: Wed, 26 Mar 2014 15:48:42 -0500 Subject: [PATCH] Fix for bug related to async jid polling change plus a new test --- lib/ansible/playbook/__init__.py | 4 ++-- test/integration/roles/test_async/tasks/main.yml | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/lib/ansible/playbook/__init__.py b/lib/ansible/playbook/__init__.py index f624be1b297..6b03d060c45 100644 --- a/lib/ansible/playbook/__init__.py +++ b/lib/ansible/playbook/__init__.py @@ -304,7 +304,7 @@ class PlayBook(object): # since these likely got killed by async_wrapper for host in poller.hosts_to_poll: reason = { 'failed' : 1, 'rc' : None, 'msg' : 'timed out' } - self.runner_callbacks.on_async_failed(host, reason, poller.jid) + self.runner_callbacks.on_async_failed(host, reason, poller.runner.setup_cache[host]['ansible_job_id']) results['contacted'][host] = reason return results @@ -375,7 +375,7 @@ class PlayBook(object): results = self._async_poll(poller, task.async_seconds, task.async_poll_interval) else: for (host, res) in results.get('contacted', {}).iteritems(): - self.runner_callbacks.on_async_ok(host, res, poller.jid) + self.runner_callbacks.on_async_ok(host, res, poller.runner.setup_cache[host]['ansible_job_id']) contacted = results.get('contacted',{}) dark = results.get('dark', {}) diff --git a/test/integration/roles/test_async/tasks/main.yml b/test/integration/roles/test_async/tasks/main.yml index 350d5ef4701..502140599fc 100644 --- a/test/integration/roles/test_async/tasks/main.yml +++ b/test/integration/roles/test_async/tasks/main.yml @@ -43,3 +43,17 @@ - "'stdout_lines' in async_result" - "async_result.rc == 0" +- name: test async without polling + command: sleep 5 + async: 30 + poll: 0 + register: async_result + +- debug: var=async_result + +- name: validate async without polling returns + assert: + that: + - "'ansible_job_id' in async_result" + - "'started' in async_result" + - "'finished' not in async_result"