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