Handle runner items from ansible v2

Also denote whether the trailing runner_on_ was a loop event
This commit is contained in:
Matthew Jones
2016-03-22 12:27:23 -04:00
parent 48d3aa2bc1
commit f2284a0098
2 changed files with 20 additions and 5 deletions

View File

@@ -134,7 +134,7 @@ class CallbackReceiver(object):
'playbook_on_import_for_host', 'playbook_on_import_for_host',
'playbook_on_not_import_for_host'): 'playbook_on_not_import_for_host'):
parent = job_parent_events.get('playbook_on_play_start', None) parent = job_parent_events.get('playbook_on_play_start', None)
elif message['event'].startswith('runner_on_'): elif message['event'].startswith('runner_on_') or message['event'].startswith('runner_item_on_'):
list_parents = [] list_parents = []
list_parents.append(job_parent_events.get('playbook_on_setup', None)) list_parents.append(job_parent_events.get('playbook_on_setup', None))
list_parents.append(job_parent_events.get('playbook_on_task_start', None)) list_parents.append(job_parent_events.get('playbook_on_task_start', None))

View File

@@ -175,7 +175,6 @@ class BaseCallbackModule(object):
self._init_connection() self._init_connection()
if self.context is None: if self.context is None:
self._start_connection() self._start_connection()
self.socket.send_json(msg) self.socket.send_json(msg)
self.socket.recv() self.socket.recv()
return return
@@ -224,16 +223,19 @@ class BaseCallbackModule(object):
ignore_errors=ignore_errors) ignore_errors=ignore_errors)
def v2_runner_on_failed(self, result, ignore_errors=False): def v2_runner_on_failed(self, result, ignore_errors=False):
event_is_loop = result._task.loop if hasattr(result._task, 'loop') else None
self._log_event('runner_on_failed', host=result._host.name, self._log_event('runner_on_failed', host=result._host.name,
res=result._result, task=result._task, res=result._result, task=result._task,
ignore_errors=ignore_errors) ignore_errors=ignore_errors, event_loop=event_is_loop)
def runner_on_ok(self, host, res): def runner_on_ok(self, host, res):
self._log_event('runner_on_ok', host=host, res=res) self._log_event('runner_on_ok', host=host, res=res)
def v2_runner_on_ok(self, result): def v2_runner_on_ok(self, result):
event_is_loop = result._task.loop if hasattr(result._task, 'loop') else None
self._log_event('runner_on_ok', host=result._host.name, self._log_event('runner_on_ok', host=result._host.name,
task=result._task, res=result._result) task=result._task, res=result._result,
event_loop=event_is_loop)
def runner_on_error(self, host, msg): def runner_on_error(self, host, msg):
self._log_event('runner_on_error', host=host, msg=msg) self._log_event('runner_on_error', host=host, msg=msg)
@@ -245,8 +247,9 @@ class BaseCallbackModule(object):
self._log_event('runner_on_skipped', host=host, item=item) self._log_event('runner_on_skipped', host=host, item=item)
def v2_runner_on_skipped(self, result): def v2_runner_on_skipped(self, result):
event_is_loop = result._task.loop if hasattr(result._task, 'loop') else None
self._log_event('runner_on_skipped', host=result._host.name, self._log_event('runner_on_skipped', host=result._host.name,
task=result._task) task=result._task, event_loop=event_is_loop)
def runner_on_unreachable(self, host, res): def runner_on_unreachable(self, host, res):
self._log_event('runner_on_unreachable', host=host, res=res) self._log_event('runner_on_unreachable', host=host, res=res)
@@ -280,6 +283,18 @@ class BaseCallbackModule(object):
self._log_event('runner_on_file_diff', host=result._host.name, self._log_event('runner_on_file_diff', host=result._host.name,
task=result._task, diff=diff) task=result._task, diff=diff)
def v2_runner_item_on_ok(self, result):
self._log_event('runner_item_on_ok', res=result._result, host=result._host.name,
task=result._task)
def v2_runner_item_on_failed(self, result):
self._log_event('runner_item_on_failed', res=result._result, host=result._host.name,
task=result._task)
def v2_runner_item_on_skipped(self, result):
self._log_event('runner_item_on_skipped', res=result._result, host=result._host.name,
task=result._task)
@staticmethod @staticmethod
def terminate_ssh_control_masters(): def terminate_ssh_control_masters():
# Determine if control persist is being used and if any open sockets # Determine if control persist is being used and if any open sockets