Skip to content
Snippets Groups Projects
Commit db897a3c authored by Nicolas KAROLAK's avatar Nicolas KAROLAK
Browse files

use dns-resolver

parent 0792e392
No related branches found
No related tags found
No related merge requests found
...@@ -9,6 +9,7 @@ from pathlib import Path ...@@ -9,6 +9,7 @@ from pathlib import Path
import re import re
import subprocess import subprocess
import sys import sys
import dns.resolver
try: try:
import pydbus import pydbus
...@@ -81,24 +82,20 @@ def check_dns(hostname: str, expected_ip: str, resolvers: set) -> tuple: ...@@ -81,24 +82,20 @@ def check_dns(hostname: str, expected_ip: str, resolvers: set) -> tuple:
warnings = 0 warnings = 0
errors = 0 errors = 0
for resolver in resolvers: resolver = dns.resolver.Resolver(configure=False)
status, output = subprocess.getstatusoutput( resolver.nameservers = list(resolvers)
"host {} {}".format(hostname, resolver) try:
) answers = [rdata.address for rdata in resolver.query(hostname)]
if status == 0: except Exception as dns_err:
address = get_result(output) u.error("cannot resolve {}: {}".format(hostname, dns_err))
errors += 1
else:
for address in answers:
if address == expected_ip: if address == expected_ip:
u.success("dns({}): {} -> {}".format(resolver, hostname, address)) u.success("{} -> {}".format(hostname, address))
else: else:
u.error( u.error("{} -> {} != {}".format(hostname, address, expected_ip))
"dns({}): {} -> {} (should be {})".format(
resolver, hostname, address, expected_ip
)
)
errors += 1 errors += 1
else:
u.error("dns({}): cannot resolve {}".format(resolver, hostname))
errors += 1
return warnings, errors return warnings, errors
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment