From c8eb6d74e3f0f0bafa560e744150616e256d65b5 Mon Sep 17 00:00:00 2001 From: Thomas Woerner <twoerner@redhat.com> Date: Thu, 20 May 2021 19:48:52 +0200 Subject: [PATCH] host: Fix DNS resource record not found error The "DNS resource record not found" error occurs when a host arecord or aaaarecord member is ensured to be absent and no dnsrecord entry for the host exists. The arecord or aaaarecord item are removed from dnsrecord_args if the record is not defined in res_find_dnsrecord. --- plugins/modules/ipahost.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/plugins/modules/ipahost.py b/plugins/modules/ipahost.py index 6fc31766..4bf7c47c 100644 --- a/plugins/modules/ipahost.py +++ b/plugins/modules/ipahost.py @@ -1327,6 +1327,23 @@ def main(): dnsrecord_args = gen_dnsrecord_args(ansible_module, ip_address, reverse) + + # Remove arecord and aaaarecord from dnsrecord_args + # if the record does not exits in res_find_dnsrecord + # to prevent "DNS resource record not found" error + if "arecord" in dnsrecord_args \ + and dnsrecord_args["arecord"] is not None \ + and len(dnsrecord_args["arecord"]) > 0 \ + and (res_find_dnsrecord is None + or "arecord" not in res_find_dnsrecord): + del dnsrecord_args["arecord"] + if "aaaarecord" in dnsrecord_args \ + and dnsrecord_args["aaaarecord"] is not None \ + and len(dnsrecord_args["aaaarecord"]) > 0 \ + and (res_find_dnsrecord is None + or "aaaarecord" not in res_find_dnsrecord): + del dnsrecord_args["aaaarecord"] + if "arecord" in dnsrecord_args or \ "aaaarecord" in dnsrecord_args: domain_name = name[name.find(".")+1:] -- GitLab