1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00
community.general/test/units
Steve Kuznetsov 0bc35354ce Change v2_playbook_on_start logic to positively detect legacy plugins
In order to support legacy plugins, the following two method signatures
are allowed for `CallbackBase.v2_playbook_on_start`:

def v2_playbook_on_start(self):
def v2_playbook_on_start(self, playbook):

Previously, the logic to handle this divergence checked to see if the
callback plugin being called supported an argument named `playbook`
in its `v2_playbook_on_start` method. This was fragile in a few ways:
 - if a plugin author did not use the literal `playbook` to name their
   method argument, their plugin would not be called correctly
 - if a plugin author wrapped their `v2_playbook_on_start` method and
   by doing so changed the argspec to no longer expose an argument
   with that literal name, their plugin would not be called correctly

In order to continue to support both types of callback for backwards
compatibility while making the call more robust for plugin authors,
the logic can be reversed in order to have a positive check for the old
method signature instead of a positive check for the new one.

Signed-off-by: Steve Kuznetsov <skuznets@redhat.com>
2016-10-28 10:05:58 -07:00
..
cli Fix call of wrong super class 2016-10-17 14:53:03 -04:00
contrib Add a new vmware inventory script backed by pyvmomi (#15967) 2016-05-30 20:41:48 -04:00
errors Relocate use of ERROR to display class, to avoid doubling up 2016-01-19 12:10:39 -05:00
executor Change v2_playbook_on_start logic to positively detect legacy plugins 2016-10-28 10:05:58 -07:00
inventory Changing up how host (in)equality is checked 2015-12-04 12:57:46 -05:00
inventory_test_data/group_vars Merge branch 'v2_final' into devel_switch_v2 2015-05-28 15:26:03 -05:00
mock Move uses of to_bytes, to_text, to_native to use the module_utils version (#17423) 2016-09-06 22:54:17 -07:00
module_utils Set ansible_os_family correctly under KDE neon 2016-10-27 20:28:38 +01:00
modules Have unittests import mock from ansible.compat so they work on py3 without mock installed from pypi 2016-09-15 15:21:17 -07:00
parsing Many Cleanups to vault 2016-09-15 15:22:06 -07:00
playbook Fix uninitialized variable in deserialize method (#18037) 2016-10-20 22:54:16 -04:00
plugins Remove callback.CallbackBase._copy_result_exclude 2016-10-23 13:36:20 +02:00
template Merge branch 'threaded_receiver' into devel 2016-09-20 09:18:26 -05:00
utils FEATURE: adding variable serial batches 2016-08-04 15:04:10 -05:00
vars Make ini parsing slightly more robust 2016-10-04 11:24:50 -07:00
__init__.py Making the switch to v2 2015-05-03 21:47:26 -05:00