modules: Do not hide errors using IPA *_show command with Exception

When searching for objects with *_show IPA API command, most plugins
were hiding errors other than "ipalib_errors.NotFound" by handling the
broad exception Exception instead.

This patch uses "ipalib_errors.NotFound" whenever "*_show" is used so
that the only exception handled is when an object is not found. Other
errors will not be handled making the module break as expected.
This commit is contained in:
Rafael Guterres Jeffman
2024-12-02 22:58:51 -03:00
parent 8fc2de1673
commit 1c4b50fa51
16 changed files with 34 additions and 31 deletions

View File

@@ -106,7 +106,7 @@ RETURN = '''
'''
from ansible.module_utils.ansible_freeipa_module import (
IPAAnsibleModule, compare_args_ipa
IPAAnsibleModule, compare_args_ipa, ipalib_errors
)
@@ -124,7 +124,7 @@ class AutomountMap(IPAAnsibleModule):
location,
{"automountmapname": name, "all": True}
)
except Exception: # pylint: disable=broad-except
except ipalib_errors.NotFound:
return None
return response["result"]
@@ -132,7 +132,7 @@ class AutomountMap(IPAAnsibleModule):
"""Check if 'name' is an indirect map for 'parentmap'."""
try:
maps = self.ipa_command("automountmap_find", location, {})
except Exception: # pylint: disable=broad-except
except ipalib_errors.NotFound:
return []
result = []