diff --git a/changelogs/fragments/11933-ipa-group-external-no-fix.yml b/changelogs/fragments/11933-ipa-group-external-no-fix.yml new file mode 100644 index 0000000000..dfeabcdbff --- /dev/null +++ b/changelogs/fragments/11933-ipa-group-external-no-fix.yml @@ -0,0 +1,2 @@ +bugfixes: + - "ipa_group - fix idempotency when ``external: false`` on an existing non-external group (https://github.com/ansible-collections/community.general/issues/5061, https://github.com/ansible-collections/community.general/pull/11933)." diff --git a/plugins/modules/ipa_group.py b/plugins/modules/ipa_group.py index 5d9c5d2aba..d3b84e0a90 100644 --- a/plugins/modules/ipa_group.py +++ b/plugins/modules/ipa_group.py @@ -238,7 +238,8 @@ def get_group_diff(client, ipa_group, module_group): del module_group["nonposix"] if "external" in module_group: - if module_group["external"] and "ipaexternalgroup" in ipa_group.get("objectclass"): + is_external_in_ipa = "ipaexternalgroup" in ipa_group.get("objectclass", []) + if module_group["external"] == is_external_in_ipa: del module_group["external"] return client.get_diff(ipa_data=ipa_group, module_data=module_group)