diff --git a/changelogs/fragments/11698-ipa-failed-response.yml b/changelogs/fragments/11698-ipa-failed-response.yml new file mode 100644 index 0000000000..b27e294789 --- /dev/null +++ b/changelogs/fragments/11698-ipa-failed-response.yml @@ -0,0 +1,4 @@ +bugfixes: + - "ipa module utils - fix failure to detect errors reported in the ``failed`` field of the IPA API response, + which is returned with HTTP 200 on partial or full failures in member add/remove operations + (https://github.com/ansible-collections/community.general/issues/1239, https://github.com/ansible-collections/community.general/pull/11698)." diff --git a/plugins/module_utils/ipa.py b/plugins/module_utils/ipa.py index 50acb4c480..0dfca11cc2 100644 --- a/plugins/module_utils/ipa.py +++ b/plugins/module_utils/ipa.py @@ -159,6 +159,9 @@ class IPAClient: if "result" in resp: result = resp.get("result") + failed = result.get("failed") + if failed: + self._fail(f"response {method}", failed) if "result" in result: result = result.get("result") if isinstance(result, list):