vinyldns icon indicating copy to clipboard operation
vinyldns copied to clipboard

Test DDNS connectivity when connecting to a zone

Open pauljamescleary opened this issue 7 years ago • 4 comments

Motivation Presently, we test SOA lookup (that the zone exists in the DNS server) and we test that we can do a zone transfer. However, we do not validate the TSIG keys and that we can issue DDNS updates to the zone. The result is if the default key has not been granted access to the zone, or if the user did not enter the connection info correctly, the zone may connect and load into VinylDNS but will be unavailable for updates.

Proposed Solution

  • In the ZoneConnectionValidator, issue the creation of a DNS TXT record and immediately the deletion of the same record.
  • These changes should not be recorded in the change log. This implies that as opposed to submitting the changes to the command bus, they are handled out-of-band, inline in the ZoneConnectionValidator
  • The proposed name of the record can be vinyldns-test, and the txt RData can be connection test

pauljamescleary avatar Jul 30 '18 15:07 pauljamescleary

@pauljamescleary Shold we make a unique id for the record name to prevent the possibility of conflicts, maybe like vinyldns-test-UUID

nimaeskandary avatar Jul 30 '18 15:07 nimaeskandary

@nimaeskandary perhaps do a "DELETE" then an "ADD". I don't like the idea of possibly polluting zones with these records.

If DELETE works (we may get an NXDOMAIN), then just a single ADD, finally another DELETE?

Makes it idempotent.

pauljamescleary avatar Jul 30 '18 15:07 pauljamescleary

@pauljamescleary hm in that case should the record data still contain some sort of unique id to be sure? Do we have to worry about any sort of record caching due to ttl when interacting directly with the dns server

nimaeskandary avatar Jul 31 '18 03:07 nimaeskandary

@nimaeskandary no, we should be able to DELETE, ADD, DELETE. We would have to not use the 3 step process, but rather interact directly with the DnsConnection

pauljamescleary avatar Aug 14 '18 17:08 pauljamescleary