Browse Source

Warn that NULL SRV records are unsupported in DNS Made Easy provider

pull/668/head
Mark Tearle 5 years ago
parent
commit
84a0c089d4
2 changed files with 25 additions and 1 deletions
  1. +24
    -0
      octodns/provider/dnsmadeeasy.py
  2. +1
    -1
      tests/test_octodns_provider_dnsmadeeasy.py

+ 24
- 0
octodns/provider/dnsmadeeasy.py View File

@ -284,6 +284,30 @@ class DnsMadeEasyProvider(BaseProvider):
len(zone.records) - before, exists)
return exists
def supports(self, record):
# DNS Made Easy does not support empty/NULL SRV records
#
# Attempting to sync such a record would generate the following error
#
# octodns.provider.dnsmadeeasy.DnsMadeEasyClientBadRequest:
# - Record value may not be a standalone dot.
#
# Skip the record and continue
if record._type == "SRV":
if 'value' in record.data:
targets = (record.data['value']['target'],)
else:
targets = [value['target'] for value in record.data['values']]
if "." in targets:
self.log.warning(
'supports: unsupported %s record with target (%s)',
record._type, targets
)
return False
return record._type in self.SUPPORTS
def _params_for_multiple(self, record):
for value in record.values:
yield {


+ 1
- 1
tests/test_octodns_provider_dnsmadeeasy.py View File

@ -134,7 +134,7 @@ class TestDnsMadeEasyProvider(TestCase):
plan = provider.plan(self.expected)
# No root NS, no ignored, no excluded, no unsupported
n = len(self.expected.records) - 6
n = len(self.expected.records) - 8
self.assertEquals(n, len(plan.changes))
self.assertEquals(n, provider.apply(plan))


Loading…
Cancel
Save