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: