Actually poll for zone deletes

- This implements a few `TODO`s in the code around actually polling
nameservers for zone deletes. I found this necessary for changes
that were truing up missed DELETEs, and wanted to make a poll/
update_status call to verify deletion across a fleet of nameservers
when one was down.
- This originally failed in PowerDNS, because in older versions
that are still in all the distro repos, PDNS responded with a
NOERROR and empty answer section when it got a query for a zone
it knew nothing about. NEAT.
http://blog.powerdns.com/2015/03/02/from-noerror-to-refused/

- NOTE: This increases timeout for functional tests and we maybe
shouldn't do that.

Change-Id: Ied1e5daf4798127e00a06265164759d98fc9ba72
This commit is contained in:
Tim Simmons
2016-01-29 17:21:06 -06:00
parent 04e26c32d2
commit defe3a8f29
9 changed files with 121 additions and 97 deletions

View File

@@ -161,6 +161,7 @@ class MdnsNotifyTest(base.BaseTestCase):
rcode=Mock(return_value=dns.rcode.NOERROR),
# rcode is NOERROR but (flags & dns.flags.AA) gives 0
flags=0,
answer=['answer'],
)
self.notify._send_dns_message = Mock(return_value=response)
@@ -176,7 +177,8 @@ class MdnsNotifyTest(base.BaseTestCase):
rcode=Mock(return_value=dns.rcode.NOERROR),
# rcode is NOERROR but flags are not NOERROR
flags=123,
ednsflags=321
ednsflags=321,
answer=['answer'],
)
self.notify._send_dns_message = Mock(return_value=response)