From 0d0bdbec621e37e428dc88ed44ca2caaaf74d851 Mon Sep 17 00:00:00 2001 From: Andrew Gaffney Date: Mon, 19 Mar 2018 12:34:15 -0500 Subject: [PATCH] Load plugin config defs on first load only (fixes #37553) (#37584) --- lib/ansible/plugins/loader.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/ansible/plugins/loader.py b/lib/ansible/plugins/loader.py index 9dba4cc2fa..7ec35d3062 100644 --- a/lib/ansible/plugins/loader.py +++ b/lib/ansible/plugins/loader.py @@ -348,9 +348,6 @@ class PluginLoader: def _update_object(self, obj, name, path): - # load plugin config data - self._load_config_defs(name, path) - # set extra info on the module, in case we want it later setattr(obj, '_original_path', path) setattr(obj, '_load_name', name) @@ -394,6 +391,10 @@ class PluginLoader: return None raise + # load plugin config data + if not found_in_cache: + self._load_config_defs(name, path) + self._update_object(obj, name, path) return obj @@ -467,6 +468,10 @@ class PluginLoader: except TypeError as e: display.warning("Skipping plugin (%s) as it seems to be incomplete: %s" % (path, to_text(e))) + # load plugin config data + if not found_in_cache: + self._load_config_defs(name, path) + self._update_object(obj, name, path) yield obj