mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-06-09 17:59:09 -07:00
plugin_filter: check for type error (#46664)
* Parsing plugin filter may raise TypeError, gracefully handle this exception and let user know about the syntax error in plugin filter file. * Test for plugin_filtering Fixes: #46658 Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
This commit is contained in:
parent
c2b7174d31
commit
b32b4111b2
5 changed files with 26 additions and 4 deletions
|
@ -574,10 +574,9 @@ class Jinja2Loader(PluginLoader):
|
|||
|
||||
def _load_plugin_filter():
|
||||
filters = defaultdict(frozenset)
|
||||
|
||||
user_set = False
|
||||
if C.PLUGIN_FILTERS_CFG is None:
|
||||
filter_cfg = '/etc/ansible/plugin_filters.yml'
|
||||
user_set = False
|
||||
else:
|
||||
filter_cfg = C.PLUGIN_FILTERS_CFG
|
||||
user_set = True
|
||||
|
@ -605,11 +604,17 @@ def _load_plugin_filter():
|
|||
if version == u'1.0':
|
||||
# Modules and action plugins share the same blacklist since the difference between the
|
||||
# two isn't visible to the users
|
||||
filters['ansible.modules'] = frozenset(filter_data['module_blacklist'])
|
||||
try:
|
||||
filters['ansible.modules'] = frozenset(filter_data['module_blacklist'])
|
||||
except TypeError:
|
||||
display.warning(u'Unable to parse the plugin filter file {0} as'
|
||||
u' module_blacklist is not a list.'
|
||||
u' Skipping.'.format(filter_cfg))
|
||||
return filters
|
||||
filters['ansible.plugins.action'] = filters['ansible.modules']
|
||||
else:
|
||||
display.warning(u'The plugin filter file, {0} was a version not recognized by this'
|
||||
u' version of Ansible. Skipping.')
|
||||
u' version of Ansible. Skipping.'.format(filter_cfg))
|
||||
else:
|
||||
if user_set:
|
||||
display.warning(u'The plugin filter file, {0} does not exist.'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue