From e1d229f2c5d82e998ae09597766b69aecc32ca86 Mon Sep 17 00:00:00 2001 From: Felix Fontein Date: Thu, 26 Dec 2024 17:13:08 +0100 Subject: [PATCH] [stable-9] dig: handle NoNameservers exception (#9363) (#9410) dig: handle NoNameservers exception (#9363) Handle NoNameservers. (cherry picked from commit 61b2304f4da6520d9867053023447db972f0be9c) --- changelogs/fragments/9363-dig-nonameservers.yml | 2 ++ plugins/lookup/dig.py | 7 +------ 2 files changed, 3 insertions(+), 6 deletions(-) create mode 100644 changelogs/fragments/9363-dig-nonameservers.yml diff --git a/changelogs/fragments/9363-dig-nonameservers.yml b/changelogs/fragments/9363-dig-nonameservers.yml new file mode 100644 index 0000000000..daa48febec --- /dev/null +++ b/changelogs/fragments/9363-dig-nonameservers.yml @@ -0,0 +1,2 @@ +bugfixes: + - "dig lookup plugin - correctly handle ``NoNameserver`` exception (https://github.com/ansible-collections/community.general/pull/9363, https://github.com/ansible-collections/community.general/issues/9362)." diff --git a/plugins/lookup/dig.py b/plugins/lookup/dig.py index aae5ffe834..a7768092c5 100644 --- a/plugins/lookup/dig.py +++ b/plugins/lookup/dig.py @@ -453,12 +453,7 @@ class LookupModule(LookupBase): raise AnsibleError("Lookup failed: %s" % str(err)) if not real_empty: ret.append('NXDOMAIN') - except dns.resolver.NoAnswer as err: - if fail_on_error: - raise AnsibleError("Lookup failed: %s" % str(err)) - if not real_empty: - ret.append("") - except dns.resolver.Timeout as err: + except (dns.resolver.NoAnswer, dns.resolver.Timeout, dns.resolver.NoNameservers) as err: if fail_on_error: raise AnsibleError("Lookup failed: %s" % str(err)) if not real_empty: