From 65aa0ea55215f8aeab67c3a8c612a6f8ac3b34fb Mon Sep 17 00:00:00 2001 From: Calen Pennington <cale@edx.org> Date: Wed, 27 Jul 2016 10:52:59 -0400 Subject: [PATCH] Support Ansible 2.0 --- playbooks/callback_plugins/task_timing.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/playbooks/callback_plugins/task_timing.py b/playbooks/callback_plugins/task_timing.py index 405c715..a12e982 100644 --- a/playbooks/callback_plugins/task_timing.py +++ b/playbooks/callback_plugins/task_timing.py @@ -6,6 +6,12 @@ from os.path import splitext, basename, exists, dirname import sys import time +try: + from ansible.plugins.callback import CallbackBase +except ImportError: + # Support Ansible 1.9.x + CallbackBase = object + import datadog logging.basicConfig(level=logging.INFO, stream=sys.stdout) @@ -203,7 +209,7 @@ class LoggingTimingLogger(TimingLogger): ) -class CallbackModule(object): +class CallbackModule(CallbackBase): """ Ansible plugin get the time of each task and total time @@ -214,6 +220,7 @@ class CallbackModule(object): self.current_task = None self.playbook_name = None self.playbook_timestamp = None + self.play = None self.loggers = [ DatadogTimingLogger(), @@ -221,6 +228,10 @@ class CallbackModule(object): JsonTimingLogger(), ] + def v2_playbook_on_play_start(self, play): + self.play = play + super(CallbackModule, self).v2_playbook_on_play_start(play) + def playbook_on_play_start(self, pattern): """ Record the start of a play. -- libgit2 0.26.0