summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Coca <brian.coca+git@gmail.com>2015-10-22 08:27:32 -0400
committerBrian Coca <brian.coca+git@gmail.com>2015-10-22 12:30:23 -0400
commitdf8ff857870060ea1471d102a74a8bef9ebbf2c0 (patch)
treefa33c29fadda1aec870cf7a27c4e45aaa1b96a65
parent498c27d09a5b8682a88fe1801050ba7355f1e561 (diff)
downloadansible-df8ff857870060ea1471d102a74a8bef9ebbf2c0.tar.gz
make callbacks declare needing whitelisting
this will allow for custom or v1 callbacks locally loaded to automatically be triggered as they were in 1.x
-rw-r--r--lib/ansible/executor/task_queue_manager.py3
-rw-r--r--lib/ansible/plugins/callback/context_demo.py3
-rw-r--r--lib/ansible/plugins/callback/hipchat.py3
-rw-r--r--lib/ansible/plugins/callback/log_plays.py1
-rw-r--r--lib/ansible/plugins/callback/mail.py1
-rw-r--r--lib/ansible/plugins/callback/osx_say.py1
-rw-r--r--lib/ansible/plugins/callback/profile_tasks.py1
-rw-r--r--lib/ansible/plugins/callback/syslog_json.py1
-rw-r--r--lib/ansible/plugins/callback/timer.py1
-rw-r--r--lib/ansible/plugins/callback/tree.py1
10 files changed, 13 insertions, 3 deletions
diff --git a/lib/ansible/executor/task_queue_manager.py b/lib/ansible/executor/task_queue_manager.py
index ae41afb600..d4f4c4d275 100644
--- a/lib/ansible/executor/task_queue_manager.py
+++ b/lib/ansible/executor/task_queue_manager.py
@@ -150,12 +150,13 @@ class TaskQueueManager:
# the name of the current plugin and type to see if we need to skip
# loading this callback plugin
callback_type = getattr(callback_plugin, 'CALLBACK_TYPE', None)
+ callback_needs_whitelist = getattr(callback_plugin, 'CALLBACK_NEEDS_WHITELIST', False)
(callback_name, _) = os.path.splitext(os.path.basename(callback_plugin._original_path))
if callback_type == 'stdout':
if callback_name != self._stdout_callback or stdout_callback_loaded:
continue
stdout_callback_loaded = True
- elif C.DEFAULT_CALLBACK_WHITELIST is None or callback_name not in C.DEFAULT_CALLBACK_WHITELIST:
+ elif callback_needs_whitelist and (C.DEFAULT_CALLBACK_WHITELIST is None or callback_name not in C.DEFAULT_CALLBACK_WHITELIST):
continue
self._callback_plugins.append(callback_plugin(self._display))
diff --git a/lib/ansible/plugins/callback/context_demo.py b/lib/ansible/plugins/callback/context_demo.py
index 3a5cd844cd..ec4454c45a 100644
--- a/lib/ansible/plugins/callback/context_demo.py
+++ b/lib/ansible/plugins/callback/context_demo.py
@@ -28,7 +28,8 @@ class CallbackModule(CallbackBase):
"""
CALLBACK_VERSION = 2.0
CALLBACK_TYPE = 'aggregate'
- CALLBACK_TYPE = 'context_demo'
+ CALLBACK_NAME = 'context_demo'
+ CALLBACK_NEEDS_WHITELIST = True
def v2_on_any(self, *args, **kwargs):
i = 0
diff --git a/lib/ansible/plugins/callback/hipchat.py b/lib/ansible/plugins/callback/hipchat.py
index 53551ba82c..5c2e3c6060 100644
--- a/lib/ansible/plugins/callback/hipchat.py
+++ b/lib/ansible/plugins/callback/hipchat.py
@@ -46,8 +46,9 @@ class CallbackModule(CallbackBase):
"""
CALLBACK_VERSION = 2.0
- CALLBACK_VERSION = 2.0
+ CALLBACK_TYPE = 'notification'
CALLBACK_NAME = 'hipchat'
+ CALLBACK_NEEDS_WHITELIST = True
def __init__(self, display):
diff --git a/lib/ansible/plugins/callback/log_plays.py b/lib/ansible/plugins/callback/log_plays.py
index d8a834cadc..9ca743254e 100644
--- a/lib/ansible/plugins/callback/log_plays.py
+++ b/lib/ansible/plugins/callback/log_plays.py
@@ -40,6 +40,7 @@ class CallbackModule(CallbackBase):
CALLBACK_VERSION = 2.0
CALLBACK_TYPE = 'notification'
CALLBACK_NAME = 'log_plays'
+ CALLBACK_NEEDS_WHITELIST = True
TIME_FORMAT="%b %d %Y %H:%M:%S"
MSG_FORMAT="%(now)s - %(category)s - %(data)s\n\n"
diff --git a/lib/ansible/plugins/callback/mail.py b/lib/ansible/plugins/callback/mail.py
index 3895fbaddd..4a9c1f0b10 100644
--- a/lib/ansible/plugins/callback/mail.py
+++ b/lib/ansible/plugins/callback/mail.py
@@ -74,6 +74,7 @@ class CallbackModule(CallbackBase):
CALLBACK_VERSION = 2.0
CALLBACK_TYPE = 'notification'
CALLBACK_NAME = 'mail'
+ CALLBACK_NEEDS_WHITELIST = True
def v2_runner_on_failed(self, res, ignore_errors=False):
diff --git a/lib/ansible/plugins/callback/osx_say.py b/lib/ansible/plugins/callback/osx_say.py
index da1044c2b1..da588434a8 100644
--- a/lib/ansible/plugins/callback/osx_say.py
+++ b/lib/ansible/plugins/callback/osx_say.py
@@ -38,6 +38,7 @@ class CallbackModule(CallbackBase):
CALLBACK_VERSION = 2.0
CALLBACK_TYPE = 'notification'
CALLBACK_NAME = 'osx_say'
+ CALLBACK_NEEDS_WHITELIST = True
def __init__(self, display):
diff --git a/lib/ansible/plugins/callback/profile_tasks.py b/lib/ansible/plugins/callback/profile_tasks.py
index 669d6f05c0..b23f84092b 100644
--- a/lib/ansible/plugins/callback/profile_tasks.py
+++ b/lib/ansible/plugins/callback/profile_tasks.py
@@ -69,6 +69,7 @@ class CallbackModule(CallbackBase):
CALLBACK_VERSION = 2.0
CALLBACK_TYPE = 'aggregate'
CALLBACK_NAME = 'profile_tasks'
+ CALLBACK_NEEDS_WHITELIST = True
def __init__(self, display):
self.stats = {}
diff --git a/lib/ansible/plugins/callback/syslog_json.py b/lib/ansible/plugins/callback/syslog_json.py
index 71deb4f976..6ba9c6f3cd 100644
--- a/lib/ansible/plugins/callback/syslog_json.py
+++ b/lib/ansible/plugins/callback/syslog_json.py
@@ -26,6 +26,7 @@ class CallbackModule(CallbackBase):
CALLBACK_VERSION = 2.0
CALLBACK_TYPE = 'aggregate'
CALLBACK_NAME = 'syslog_json'
+ CALLBACK_NEEDS_WHITELIST = True
def __init__(self, display):
diff --git a/lib/ansible/plugins/callback/timer.py b/lib/ansible/plugins/callback/timer.py
index 8694b281e7..4f4bd44dea 100644
--- a/lib/ansible/plugins/callback/timer.py
+++ b/lib/ansible/plugins/callback/timer.py
@@ -15,6 +15,7 @@ class CallbackModule(CallbackBase):
CALLBACK_VERSION = 2.0
CALLBACK_TYPE = 'aggregate'
CALLBACK_NAME = 'timer'
+ CALLBACK_NEEDS_WHITELIST = True
def __init__(self, display):
diff --git a/lib/ansible/plugins/callback/tree.py b/lib/ansible/plugins/callback/tree.py
index 0038450a6c..5c976cc6f2 100644
--- a/lib/ansible/plugins/callback/tree.py
+++ b/lib/ansible/plugins/callback/tree.py
@@ -34,6 +34,7 @@ class CallbackModule(CallbackBase):
CALLBACK_VERSION = 2.0
CALLBACK_TYPE = 'aggregate'
CALLBACK_NAME = 'tree'
+ CALLBACK_NEEDS_WHITELIST = True
def __init__(self, display):
super(CallbackModule, self).__init__(display)