Page MenuHomePhabricator
Paste P2969

DNS resolver for T115194
ActivePublic

Authored by hashar on Apr 28 2016, 11:19 AM.
Project Tags
None
Referenced Files
F3941884: DNS resolver for T115194
Apr 28 2016, 11:19 AM
Subscribers
None
#!/usr/bin/env python2
import argparse
import dns.resolver
from time import sleep
p = argparse.ArgumentParser()
p.add_argument('--delay', type=float, default=1.0,
help='Delay between DNS queries')
p.add_argument('range', help='Range of ID. Ex: 85-90')
opts = p.parse_args()
try:
(start, stop) = [int(border) for border in opts.range.split('-')]
except ValueError:
p.error("Invalid range should be: <start>-<end>")
fqdn_template = 'ci-jessie-wikimedia-%s.contintcloud.eqiad.wmflabs.'
print "Start: %s" % (fqdn_template % start)
print "Stop: %s" % (fqdn_template % stop)
print "Querying DNS for A records ..."
for index, host_id in enumerate(xrange(start, stop), start=1):
fqdn = fqdn_template % host_id
try:
answers = dns.resolver.query(fqdn, 'A')
print "Found %s" % fqdn
except dns.resolver.NXDOMAIN:
continue
finally:
sleep(opts.delay)
print "Did %s queries. Done." % index