From 805dff41290af657d21b00567c418c338f42e720 Mon Sep 17 00:00:00 2001 From: Brian Coca Date: Wed, 10 Jun 2020 08:35:36 -0400 Subject: [PATCH] fixed missing default (#69972) * fixed missing default also deprecated so new options wont have to go through this --- .../fragments/deprecate_default_call_fragmentless.yml | 4 ++++ lib/ansible/plugins/callback/default.py | 6 ++++-- 2 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 changelogs/fragments/deprecate_default_call_fragmentless.yml diff --git a/changelogs/fragments/deprecate_default_call_fragmentless.yml b/changelogs/fragments/deprecate_default_call_fragmentless.yml new file mode 100644 index 00000000000..0f051b12667 --- /dev/null +++ b/changelogs/fragments/deprecate_default_call_fragmentless.yml @@ -0,0 +1,4 @@ +deprecated_features: + - Using the DefaultCallback without the correspodning doc_fragment or copying the documentation. +bugfixes: + - added new option for default callback to compat variable to avoid old 3rd party plugins from erroring out. diff --git a/lib/ansible/plugins/callback/default.py b/lib/ansible/plugins/callback/default.py index 8147cb6aa21..fae958bb102 100644 --- a/lib/ansible/plugins/callback/default.py +++ b/lib/ansible/plugins/callback/default.py @@ -43,7 +43,6 @@ from ansible.playbook.task_include import TaskInclude from ansible.plugins.callback import CallbackBase from ansible.utils.color import colorize, hostcolor - # These values use ansible.constants for historical reasons, mostly to allow # unmodified derivative plugins to work. However, newer options added to the # plugin are not also added to ansible.constants, so authors of derivative @@ -57,7 +56,8 @@ COMPAT_OPTIONS = (('display_skipped_hosts', C.DISPLAY_SKIPPED_HOSTS), ('display_ok_hosts', True), ('show_custom_stats', C.SHOW_CUSTOM_STATS), ('display_failed_stderr', False), - ('check_mode_markers', False),) + ('check_mode_markers', False), + ('show_per_host_start', False)) class CallbackModule(CallbackBase): @@ -88,6 +88,8 @@ class CallbackModule(CallbackBase): try: value = self.get_option(option) except (AttributeError, KeyError): + self._display.deprecated("'%s' is subclassing DefaultCallback without the corresponding doc_fragment." % self._load_name, + version='2.14') value = constant setattr(self, option, value)