From 37e8a8834986038dd0e76c598448c9504a5e2e7c Mon Sep 17 00:00:00 2001 From: Viranch Mehta Date: Sun, 2 Apr 2023 03:16:44 -0700 Subject: [PATCH 01/18] Support subnets in dynamic rules --- octodns/record/dynamic.py | 21 ++++++++++++++++----- octodns/record/subnet.py | 28 ++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 5 deletions(-) create mode 100644 octodns/record/subnet.py diff --git a/octodns/record/dynamic.py b/octodns/record/dynamic.py index 384533e..90982ae 100644 --- a/octodns/record/dynamic.py +++ b/octodns/record/dynamic.py @@ -7,6 +7,7 @@ from logging import getLogger from .change import Update from .geo import GeoCodes +from .subnet import Subnets class _DynamicPool(object): @@ -70,6 +71,10 @@ class _DynamicRule(object): self.data['geos'] = sorted(data['geos']) except KeyError: pass + try: + self.data['subnets'] = sorted(data['subnets']) + except KeyError: + pass def _data(self): return self.data @@ -240,10 +245,8 @@ class _DynamicMixin(object): reasons.append(f'rule {rule_num} missing pool') continue - try: - geos = rule['geos'] - except KeyError: - geos = [] + geos = rule.get('geos', []) + subnets = rule.get('subnets', []) if not isinstance(pool, str): reasons.append(f'rule {rule_num} invalid pool "{pool}"') @@ -259,7 +262,7 @@ class _DynamicMixin(object): ) pools_seen.add(pool) - if not geos: + if not geos and not subnets: if seen_default: reasons.append(f'rule {rule_num} duplicate default') seen_default = True @@ -272,6 +275,14 @@ class _DynamicMixin(object): GeoCodes.validate(geo, f'rule {rule_num} ') ) + if not isinstance(subnets, (list, tuple)): + reasons.append(f'rule {rule_num} subnets must be a list') + else: + for subnet in subnets: + reasons.extend( + Subnets.validate(subnet, f'rule {rule_num} ') + ) + unused = pools_exist - pools_seen - pools_seen_as_fallback if unused: unused = '", "'.join(sorted(unused)) diff --git a/octodns/record/subnet.py b/octodns/record/subnet.py new file mode 100644 index 0000000..3dc2509 --- /dev/null +++ b/octodns/record/subnet.py @@ -0,0 +1,28 @@ +# +# +# + +import ipaddress +from logging import getLogger + + +class Subnets(object): + log = getLogger('Subnets') + + @classmethod + def validate(cls, subnet, prefix): + ''' + Validates an octoDNS subnet making sure that it is valid + ''' + reasons = [] + + try: + ipaddress.ip_network(subnet) + except ValueError: + reasons.append(f'{prefix}invalid subnet "{subnet}"') + + return reasons + + @classmethod + def parse(cls, subnet): + return ipaddress.ip_network(subnet) From 44a0106e9310e11ca983a4f654e5537a932a4265 Mon Sep 17 00:00:00 2001 From: Viranch Mehta Date: Sun, 2 Apr 2023 05:01:22 -0700 Subject: [PATCH 02/18] Add subnet targeting to dynamic records doc --- docs/dynamic_records.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/docs/dynamic_records.md b/docs/dynamic_records.md index e019c94..78f42d8 100644 --- a/docs/dynamic_records.md +++ b/docs/dynamic_records.md @@ -78,6 +78,23 @@ The first portion is the continent: The second is the two-letter ISO Country Code https://en.wikipedia.org/wiki/ISO_3166-2 and the third is the ISO Country Code Subdivision as per https://en.wikipedia.org/wiki/ISO_3166-2:US. Change the code at the end for the country you are subdividing. Note that these may not always be supported depending on the providers in use. +#### Subnets + +Dynamic record rules also support subnet targeting in some providers: + +``` +... + rules: + - geos: + - AS + - OC + subnets: + # Subnets used in matching queries + - 5.149.176.0/24 + pool: apac +... +``` + ### Health Checks octoDNS will automatically configure the provider to monitor each IP and check for a 200 response for **https:///_dns**. From 1f346edc04eaa5610cb3fa54666430ffe2e967b1 Mon Sep 17 00:00:00 2001 From: Viranch Mehta Date: Sun, 2 Apr 2023 05:02:21 -0700 Subject: [PATCH 03/18] CHANGELOG entry for subnet targeting support --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 901681d..296c33c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ longer as they were considered private/protected. * Beta support for auto-arpa has been added, See the [auto-arpa documentation](/docs/auto_arpa.md) for more information. +* Support for subnet targeting in dynamic records added. #### Stuff From a0646441e9497b00f8e846b7ba1ee5a805c72750 Mon Sep 17 00:00:00 2001 From: Viranch Mehta Date: Sun, 2 Apr 2023 05:07:34 -0700 Subject: [PATCH 04/18] Drop unused logger --- octodns/record/subnet.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/octodns/record/subnet.py b/octodns/record/subnet.py index 3dc2509..49cc6a4 100644 --- a/octodns/record/subnet.py +++ b/octodns/record/subnet.py @@ -3,12 +3,9 @@ # import ipaddress -from logging import getLogger class Subnets(object): - log = getLogger('Subnets') - @classmethod def validate(cls, subnet, prefix): ''' From 1244af86a0c7297a71d8125e2532b04c45fbc8d7 Mon Sep 17 00:00:00 2001 From: Viranch Mehta Date: Wed, 5 Apr 2023 10:28:42 -0700 Subject: [PATCH 05/18] Add section about rule ordering in docs --- docs/dynamic_records.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/dynamic_records.md b/docs/dynamic_records.md index 78f42d8..bee3939 100644 --- a/docs/dynamic_records.md +++ b/docs/dynamic_records.md @@ -95,6 +95,19 @@ Dynamic record rules also support subnet targeting in some providers: ... ``` +### Rule ordering + +Provider implementations should consider subnet matching more specific than geolocation matching. This means that if there is a subnet rule match as well as a geo rule match, subnet match should take precedence; and implementations should ensure this behavior. + +While octoDNS itself doesn't assert for any particular ordering of the rules, it is a strongly recommended best practice to have them ordered such that matching happens from the most specific to the least. Specifically, this means the rules should be in the following order of categories: + +1. Subnet-only rules +2. Subnet+Geo rules +3. Geo-only rules +4. Catch-all rule (with no subnet or geo matching) + +The first 3 categories are optional, while the last one should be mandatory as a best practice, even though not currently enforced by octoDNS. + ### Health Checks octoDNS will automatically configure the provider to monitor each IP and check for a 200 response for **https:///_dns**. From 47a898b1dc581b8e6c61250b93dc08c65665e42b Mon Sep 17 00:00:00 2001 From: Viranch Mehta Date: Sun, 9 Apr 2023 08:15:44 -0700 Subject: [PATCH 06/18] Wrap subnet support behind a SUPPORTS_ flag --- octodns/provider/base.py | 83 +++++++++++++++++++++++++++++----------- octodns/provider/yaml.py | 1 + octodns/source/base.py | 1 + 3 files changed, 63 insertions(+), 22 deletions(-) diff --git a/octodns/provider/base.py b/octodns/provider/base.py index 54fa58f..c900793 100644 --- a/octodns/provider/base.py +++ b/octodns/provider/base.py @@ -59,28 +59,67 @@ class BaseProvider(BaseSource): desired.remove_record(record) elif getattr(record, 'dynamic', False): if self.SUPPORTS_DYNAMIC: - if self.SUPPORTS_POOL_VALUE_STATUS: - continue - # drop unsupported up flag - unsupported_pools = [] - for _id, pool in record.dynamic.pools.items(): - for value in pool.data['values']: - if value['status'] != 'obey': - unsupported_pools.append(_id) - if not unsupported_pools: - continue - unsupported_pools = ','.join(unsupported_pools) - msg = ( - f'"status" flag used in pools {unsupported_pools}' - f' in {record.fqdn} is not supported' - ) - fallback = 'will ignore it and respect the healthcheck' - self.supports_warn_or_except(msg, fallback) - record = record.copy() - for pool in record.dynamic.pools.values(): - for value in pool.data['values']: - value['status'] = 'obey' - desired.add_record(record, replace=True) + if not self.SUPPORTS_POOL_VALUE_STATUS: + # drop unsupported status flag + unsupported_pools = [] + for _id, pool in record.dynamic.pools.items(): + for value in pool.data['values']: + if value['status'] != 'obey': + unsupported_pools.append(_id) + if not unsupported_pools: + continue + unsupported_pools = ','.join(unsupported_pools) + msg = ( + f'"status" flag used in pools {unsupported_pools}' + f' in {record.fqdn} is not supported' + ) + fallback = 'will ignore it and respect the healthcheck' + self.supports_warn_or_except(msg, fallback) + record = record.copy() + for pool in record.dynamic.pools.values(): + for value in pool.data['values']: + value['status'] = 'obey' + desired.add_record(record, replace=True) + + if not self.SUPPORTS_DYNAMIC_SUBNETS: + subnet_rules = [] + for i, rule in enumerate(record.dynamic.rules): + if 'subnets' not in rule.data: + continue + + msg = f'rule {i + 1} contains unsupported subnet matching in {record.fqdn}' + if 'geos' in rule.data: + fallback = 'using geos only' + self.supports_warn_or_except(msg, fallback) + else: + fallback = 'skipping the rule' + self.supports_warn_or_except(msg, fallback) + + subnet_rules.append(i) + + record = record.copy() + + # drop subnet rules in reverse order so indices don't shift during rule deletion + for i in subnet_rules[::-1]: + rule = record.dynamic.rules[i] + if 'geo' in rule: + del rule['subnets'] + else: + del record.dynamic.rules[i] + + # drop any pools rendered unused + pools = record.dynamic.pools + pools_seen = set() + for rule in record.dynamic.rules: + pool = rule.data['pool'] + while pool: + pools_seen.add(pool) + pool = pools[pool].data.get('fallback') + pools_unseen = set(pools.keys()) - pools_seen + for pool in pools_unseen: + del pools[pool] + + desired.add_record(record, replace=True) else: msg = f'dynamic records not supported for {record.fqdn}' fallback = 'falling back to simple record' diff --git a/octodns/provider/yaml.py b/octodns/provider/yaml.py index e536a97..9fd8f04 100644 --- a/octodns/provider/yaml.py +++ b/octodns/provider/yaml.py @@ -104,6 +104,7 @@ class YamlProvider(BaseProvider): SUPPORTS_GEO = True SUPPORTS_DYNAMIC = True SUPPORTS_POOL_VALUE_STATUS = True + SUPPORTS_DYNAMIC_SUBNETS = True SUPPORTS_MULTIVALUE_PTR = True def __init__( diff --git a/octodns/source/base.py b/octodns/source/base.py index 30d3190..1c3ff15 100644 --- a/octodns/source/base.py +++ b/octodns/source/base.py @@ -8,6 +8,7 @@ class BaseSource(object): SUPPORTS_MULTIVALUE_PTR = False SUPPORTS_POOL_VALUE_STATUS = False SUPPORTS_ROOT_NS = False + SUPPORTS_DYNAMIC_SUBNETS = False def __init__(self, id): self.id = id From 96f09cb4e50c304f66915bf43c5235d122e65ec1 Mon Sep 17 00:00:00 2001 From: Viranch Mehta Date: Sun, 9 Apr 2023 09:17:42 -0700 Subject: [PATCH 07/18] Add subnet ordering validation --- octodns/record/dynamic.py | 39 +++++++++++++++++++++------- octodns/record/subnet.py | 2 +- tests/test_octodns_record_dynamic.py | 5 +++- 3 files changed, 34 insertions(+), 12 deletions(-) diff --git a/octodns/record/dynamic.py b/octodns/record/dynamic.py index eeaa4d2..1423b09 100644 --- a/octodns/record/dynamic.py +++ b/octodns/record/dynamic.py @@ -221,6 +221,7 @@ class _DynamicMixin(object): pools_seen = set() geos_seen = {} + subnets_seen = {} if not isinstance(rules, (list, tuple)): reasons.append('rules must be a list') @@ -259,6 +260,30 @@ class _DynamicMixin(object): reasons.append(f'rule {rule_num} duplicate default') seen_default = True + if not isinstance(subnets, (list, tuple)): + reasons.append(f'rule {rule_num} subnets must be a list') + else: + for subnet in subnets: + reasons.extend( + Subnets.validate(subnet, f'rule {rule_num} ') + ) + networks = [Subnets.parse(s) for s in subnets] + # sort subnets from largest to smallest so that we can + # detect rule that have needlessly targeted a more specific + # subnet along with a larger subnet that already contains it + for subnet in sorted(networks): + for seen, where in subnets_seen.items(): + if subnet == seen: + reasons.append( + f'rule {rule_num} targets subnet {subnet} which has previously been seen in rule {where}' + ) + elif subnet.subnet_of(seen): + reasons.append( + f'rule {rule_num} targets subnet {subnet} which is more specific than the previously seen {seen} in rule {where}' + ) + + subnets_seen[subnet] = rule_num + if not isinstance(geos, (list, tuple)): reasons.append(f'rule {rule_num} geos must be a list') else: @@ -285,16 +310,10 @@ class _DynamicMixin(object): geos_seen[geo] = rule_num - if not isinstance(subnets, (list, tuple)): - reasons.append(f'rule {rule_num} subnets must be a list') - else: - for subnet in subnets: - reasons.extend( - Subnets.validate(subnet, f'rule {rule_num} ') - ) - - if 'geos' in rules[-1]: - reasons.append('final rule has "geos" and is not catchall') + if 'subnets' in rules[-1] or 'geos' in rules[-1]: + reasons.append( + 'final rule has "subnets" and/or "geos" and is not catchall' + ) return reasons, pools_seen diff --git a/octodns/record/subnet.py b/octodns/record/subnet.py index 49cc6a4..b2e8280 100644 --- a/octodns/record/subnet.py +++ b/octodns/record/subnet.py @@ -14,7 +14,7 @@ class Subnets(object): reasons = [] try: - ipaddress.ip_network(subnet) + cls.parse(subnet) except ValueError: reasons.append(f'{prefix}invalid subnet "{subnet}"') diff --git a/tests/test_octodns_record_dynamic.py b/tests/test_octodns_record_dynamic.py index ceb65bf..b930ee5 100644 --- a/tests/test_octodns_record_dynamic.py +++ b/tests/test_octodns_record_dynamic.py @@ -1350,4 +1350,7 @@ class TestRecordDynamic(TestCase): {'geos': ('EU', 'NA'), 'pool': 'iad'}, ] reasons, pools_seen = _DynamicMixin._validate_rules(pools, rules) - self.assertEqual(['final rule has "geos" and is not catchall'], reasons) + self.assertEqual( + ['final rule has "subnets" and/or "geos" and is not catchall'], + reasons, + ) From 75cca9d12fc6248a34e0cde944f4a43fd6e0975d Mon Sep 17 00:00:00 2001 From: Viranch Mehta Date: Sun, 9 Apr 2023 09:59:17 -0700 Subject: [PATCH 08/18] Check subnets for re-used pools --- octodns/record/dynamic.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/octodns/record/dynamic.py b/octodns/record/dynamic.py index 1423b09..86205ae 100644 --- a/octodns/record/dynamic.py +++ b/octodns/record/dynamic.py @@ -248,7 +248,7 @@ class _DynamicMixin(object): reasons.append( f'rule {rule_num} undefined pool ' f'"{pool}"' ) - elif pool in pools_seen and geos: + elif pool in pools_seen and (subnets or geos): reasons.append( f'rule {rule_num} invalid, target ' f'pool "{pool}" reused' From 3b17eb155dd50f018d7fc1cab66fa76f204e5f48 Mon Sep 17 00:00:00 2001 From: Viranch Mehta Date: Mon, 10 Apr 2023 16:17:58 -0700 Subject: [PATCH 09/18] subnets before geos, empty lists ok --- octodns/record/dynamic.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/octodns/record/dynamic.py b/octodns/record/dynamic.py index 86205ae..2069c63 100644 --- a/octodns/record/dynamic.py +++ b/octodns/record/dynamic.py @@ -220,8 +220,8 @@ class _DynamicMixin(object): reasons = [] pools_seen = set() - geos_seen = {} subnets_seen = {} + geos_seen = {} if not isinstance(rules, (list, tuple)): reasons.append('rules must be a list') @@ -238,8 +238,8 @@ class _DynamicMixin(object): reasons.append(f'rule {rule_num} missing pool') continue - geos = rule.get('geos', []) subnets = rule.get('subnets', []) + geos = rule.get('geos', []) if not isinstance(pool, str): reasons.append(f'rule {rule_num} invalid pool "{pool}"') @@ -255,7 +255,7 @@ class _DynamicMixin(object): ) pools_seen.add(pool) - if not geos and not subnets: + if not (subnets or geos): if seen_default: reasons.append(f'rule {rule_num} duplicate default') seen_default = True @@ -310,7 +310,7 @@ class _DynamicMixin(object): geos_seen[geo] = rule_num - if 'subnets' in rules[-1] or 'geos' in rules[-1]: + if rules[-1].get('subnets') or rules[-1].get('geos'): reasons.append( 'final rule has "subnets" and/or "geos" and is not catchall' ) From ae781f9b4f678152ff5141af098aa6d77388c6f4 Mon Sep 17 00:00:00 2001 From: Viranch Mehta Date: Mon, 10 Apr 2023 16:28:29 -0700 Subject: [PATCH 10/18] Validate rule ordering --- docs/dynamic_records.md | 8 ++++---- octodns/record/dynamic.py | 16 ++++++++++++++++ 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/docs/dynamic_records.md b/docs/dynamic_records.md index d2fee7c..7a50b51 100644 --- a/docs/dynamic_records.md +++ b/docs/dynamic_records.md @@ -117,16 +117,16 @@ Dynamic record rules also support subnet targeting in some providers: ### Rule ordering -Provider implementations should consider subnet matching more specific than geolocation matching. This means that if there is a subnet rule match as well as a geo rule match, subnet match should take precedence; and implementations should ensure this behavior. - -While octoDNS itself doesn't assert for any particular ordering of the rules, it is a strongly recommended best practice to have them ordered such that matching happens from the most specific to the least. Specifically, this means the rules should be in the following order of categories: +octoDNS has validations in place to ensure that sources have the rules ordered from the most specific match to the least specific match per the following categories: 1. Subnet-only rules 2. Subnet+Geo rules 3. Geo-only rules 4. Catch-all rule (with no subnet or geo matching) -The first 3 categories are optional, while the last one should be mandatory as a best practice, even though not currently enforced by octoDNS. +The first 3 categories are optional, while the last one is mandatory. + +Subnet targeting is considered more specific than geo targeting. This means that if there is a subnet rule match as well as a geo rule match, subnet match must take precedence. Provider implementations must ensure this behavior of targeting precedence. ### Health Checks diff --git a/octodns/record/dynamic.py b/octodns/record/dynamic.py index 2069c63..ca36c2c 100644 --- a/octodns/record/dynamic.py +++ b/octodns/record/dynamic.py @@ -255,6 +255,22 @@ class _DynamicMixin(object): ) pools_seen.add(pool) + if i > 0: + # validate that rules are ordered as: + # subnets-only > subnets + geos > geos-only + previous_subnets = rules[i - 1].get('subnets', []) + previous_geos = rules[i - 1].get('geos', []) + if subnets and geos: + if not previous_subnets and previous_geos: + reasons.append( + f'rule {rule_num} with subnet(s) and geo(s) should appear before all geo-only rules' + ) + elif subnets: + if previous_geos: + reasons.append( + f'rule {rule_num} with only subnet targeting should appear before all geo targeting rules' + ) + if not (subnets or geos): if seen_default: reasons.append(f'rule {rule_num} duplicate default') From 221367b06a09eb702f19f35f37873fa9ff048a57 Mon Sep 17 00:00:00 2001 From: Viranch Mehta Date: Mon, 10 Apr 2023 16:49:10 -0700 Subject: [PATCH 11/18] empty lists ok, minor refactor in _process_desired_zone --- octodns/provider/base.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/octodns/provider/base.py b/octodns/provider/base.py index c900793..75fe18d 100644 --- a/octodns/provider/base.py +++ b/octodns/provider/base.py @@ -84,11 +84,12 @@ class BaseProvider(BaseSource): if not self.SUPPORTS_DYNAMIC_SUBNETS: subnet_rules = [] for i, rule in enumerate(record.dynamic.rules): - if 'subnets' not in rule.data: + rule = rule.data + if not rule.get('subnets'): continue msg = f'rule {i + 1} contains unsupported subnet matching in {record.fqdn}' - if 'geos' in rule.data: + if rule.get('geos'): fallback = 'using geos only' self.supports_warn_or_except(msg, fallback) else: @@ -100,12 +101,13 @@ class BaseProvider(BaseSource): record = record.copy() # drop subnet rules in reverse order so indices don't shift during rule deletion + rules = record.dynamic.rules for i in subnet_rules[::-1]: - rule = record.dynamic.rules[i] - if 'geo' in rule: + rule = rules[i].data + if rule.get('geos'): del rule['subnets'] else: - del record.dynamic.rules[i] + del rules[i] # drop any pools rendered unused pools = record.dynamic.pools From cd975b28f4887accf82bac6298a4ea206a826243 Mon Sep 17 00:00:00 2001 From: Viranch Mehta Date: Wed, 12 Apr 2023 23:36:37 -0700 Subject: [PATCH 12/18] Don't abort rest of the validation if unsupported pools are not present --- octodns/provider/base.py | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/octodns/provider/base.py b/octodns/provider/base.py index 75fe18d..e0f9b48 100644 --- a/octodns/provider/base.py +++ b/octodns/provider/base.py @@ -66,20 +66,21 @@ class BaseProvider(BaseSource): for value in pool.data['values']: if value['status'] != 'obey': unsupported_pools.append(_id) - if not unsupported_pools: - continue - unsupported_pools = ','.join(unsupported_pools) - msg = ( - f'"status" flag used in pools {unsupported_pools}' - f' in {record.fqdn} is not supported' - ) - fallback = 'will ignore it and respect the healthcheck' - self.supports_warn_or_except(msg, fallback) - record = record.copy() - for pool in record.dynamic.pools.values(): - for value in pool.data['values']: - value['status'] = 'obey' - desired.add_record(record, replace=True) + if unsupported_pools: + unsupported_pools = ','.join(unsupported_pools) + msg = ( + f'"status" flag used in pools {unsupported_pools}' + f' in {record.fqdn} is not supported' + ) + fallback = ( + 'will ignore it and respect the healthcheck' + ) + self.supports_warn_or_except(msg, fallback) + record = record.copy() + for pool in record.dynamic.pools.values(): + for value in pool.data['values']: + value['status'] = 'obey' + desired.add_record(record, replace=True) if not self.SUPPORTS_DYNAMIC_SUBNETS: subnet_rules = [] From a19dc6c12e7b2493941e992b6bf7507b5527ebed Mon Sep 17 00:00:00 2001 From: Viranch Mehta Date: Wed, 12 Apr 2023 23:39:00 -0700 Subject: [PATCH 13/18] Copy/edit record only if there are subnet rules without the support --- octodns/provider/base.py | 47 ++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/octodns/provider/base.py b/octodns/provider/base.py index e0f9b48..241bb9f 100644 --- a/octodns/provider/base.py +++ b/octodns/provider/base.py @@ -99,30 +99,31 @@ class BaseProvider(BaseSource): subnet_rules.append(i) - record = record.copy() + if subnet_rules: + record = record.copy() + rules = record.dynamic.rules + + # drop subnet rules in reverse order so indices don't shift during rule deletion + for i in sorted(subnet_rules, reverse=True): + rule = rules[i].data + if rule.get('geos'): + del rule['subnets'] + else: + del rules[i] + + # drop any pools rendered unused + pools = record.dynamic.pools + pools_seen = set() + for rule in record.dynamic.rules: + pool = rule.data['pool'] + while pool: + pools_seen.add(pool) + pool = pools[pool].data.get('fallback') + pools_unseen = set(pools.keys()) - pools_seen + for pool in pools_unseen: + del pools[pool] - # drop subnet rules in reverse order so indices don't shift during rule deletion - rules = record.dynamic.rules - for i in subnet_rules[::-1]: - rule = rules[i].data - if rule.get('geos'): - del rule['subnets'] - else: - del rules[i] - - # drop any pools rendered unused - pools = record.dynamic.pools - pools_seen = set() - for rule in record.dynamic.rules: - pool = rule.data['pool'] - while pool: - pools_seen.add(pool) - pool = pools[pool].data.get('fallback') - pools_unseen = set(pools.keys()) - pools_seen - for pool in pools_unseen: - del pools[pool] - - desired.add_record(record, replace=True) + desired.add_record(record, replace=True) else: msg = f'dynamic records not supported for {record.fqdn}' fallback = 'falling back to simple record' From a151ae31c947423ce1a7fe48a12a8579bf7ffa85 Mon Sep 17 00:00:00 2001 From: Viranch Mehta Date: Wed, 12 Apr 2023 23:40:15 -0700 Subject: [PATCH 14/18] log warning when unused subnet pools are dropped --- octodns/provider/base.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/octodns/provider/base.py b/octodns/provider/base.py index 241bb9f..e1e2234 100644 --- a/octodns/provider/base.py +++ b/octodns/provider/base.py @@ -121,6 +121,11 @@ class BaseProvider(BaseSource): pool = pools[pool].data.get('fallback') pools_unseen = set(pools.keys()) - pools_seen for pool in pools_unseen: + self.log.warning( + '%s: skipping pool %s which is rendered unused due to lack of support for subnet targeting', + record.fqdn, + pool, + ) del pools[pool] desired.add_record(record, replace=True) From eeec1a7e7bbe76f9b14e1efe8a216b2f1352b264 Mon Sep 17 00:00:00 2001 From: Viranch Mehta Date: Wed, 12 Apr 2023 23:51:52 -0700 Subject: [PATCH 15/18] prevent invalid subnet from crashing us --- octodns/record/dynamic.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/octodns/record/dynamic.py b/octodns/record/dynamic.py index ca36c2c..8423937 100644 --- a/octodns/record/dynamic.py +++ b/octodns/record/dynamic.py @@ -283,7 +283,14 @@ class _DynamicMixin(object): reasons.extend( Subnets.validate(subnet, f'rule {rule_num} ') ) - networks = [Subnets.parse(s) for s in subnets] + networks = [] + for subnet in subnets: + try: + networks.append(Subnets.parse(subnet)) + except: + # previous loop will log any invalid subnets, here we + # process only valid ones and skip invalid ones + pass # sort subnets from largest to smallest so that we can # detect rule that have needlessly targeted a more specific # subnet along with a larger subnet that already contains it From 363f627284b2d27088c60398acddbf5724aec650 Mon Sep 17 00:00:00 2001 From: Benjamin Kane <6081085+bbkane@users.noreply.github.com> Date: Fri, 21 Apr 2023 06:40:33 -0700 Subject: [PATCH 16/18] Replace diagram image with inline Mermaid diagram I find the Mermaid diagram is easier to read and edit, and GitHub will render it automatically. --- docs/assets/dynamic-rules-and-pools.jpg | Bin 217304 -> 0 bytes docs/dynamic_records.md | 28 +++++++++++++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) delete mode 100644 docs/assets/dynamic-rules-and-pools.jpg diff --git a/docs/assets/dynamic-rules-and-pools.jpg b/docs/assets/dynamic-rules-and-pools.jpg deleted file mode 100644 index 005383cd78ad940f2d416cb6d29c6cc792586103..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 217304 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�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.O9SS*VB`FQ@bZkd1f!aLtg3>j zCMEbJ(fcOc^(x$qE6Pm-rs2;p%68Q72OmirZ)|&DyOMvYk^MkM2GGQp;TXWLcybHV zdGz}F0SjdGkA|_Nl)U$9=Q#CmWAtWyd>tR~!!~+A==ufn!%$ShSi*7F8B^xDW5Es8 z1*AD-@C~HXZ~Yb71SeE_!k5{%6cfyZ0L)Gn+y4N!Xm1c3AV@{@CA3l4{#MrSBdUZa4din_jqx+~W=}pW z4F|HcM|CiT0<+fRS>ynFj^({fd>Dyfd0Z1|eL1`_GwRiV(;7TtgG^kge6ci4@%>WfOOR9;tKZ zbQw!V4v-dXF_dkJZ-WlgAaZ6E{{TiAB-Ks6dkbr#Qqyr;TX|!!X;|&PZ~Si-@SQ(& zp7oX9eEuKH7Lqa>6xmE805#_n*037EC2V|Ietl9=iL+FZ_uM)Uk(m)p$wT6UEJ-Uo zNGzICFN5#?zDh3yeO!+Z8Pst0(N?7o%Xc=^t-$4zLaYA(9N;clh{qJ0ZU^=hTO7X(btf~^%!*emp`?{e~O zW$m)7t!lqOzyAP*3mDMuNGB@sBj;>~+mN;Bg|%VEbv3u4>N99`G7q$>%KN`{?&wI( z14M{-QDdr1WN$)o2yin_vU?PoOk!~r3cTY2sM*PX@VcN!>`v%JdRMJ#8N!2Rn{ClZ z&Fg3zlAm2;1p7J%h@1&w@2UYnVVI&Sho^?nadU3K7WyVmhxZCnUY?CP7trMXY7Keo zI!jPk(+>Z{045Lt00II50|WyB0RaF20000101+WEK~Z6Gfsvu`vBA;d@eu#o00;pA z00BP`b!xYVyfwD7Cue@Ahh&Vg&{M;EwBl6-mxkuh|&PAU4{YqsEqP<#z zK%^5M(wCPXsN;st;b<#oFZNhc)dVuEsA>gyER^R^124arutX7dwCkmi*q~P0KjQ;OH)dFcwwckjh<(v$l1fz>m#s%I?+v&^9*f7ZF*RuTCbMYD z3Feg_E#P~%EP3kYM?c7cZdO>=sqGYnMWWv|%+Ai(QyX4SSWUHA?z+H?FaTd_g(|~; zxnc}%Qt&OmKd1#6avtEtdEJ$c)pCf#U)ZA!6nesjb6oj=$-TzQhQ?Z8f+@pF<`pR6 zmMZFn-^97ZG_JM&%d>5t6Sk%~LhzL`LDlv!^oB>?{{WC1ZNGR%3M&%2SqcwmB}|Q4s1Z{Y&2;;4!M=yR62jw{upJUh9&6$z#T*b9bhc$0Lf@&T?UWs$71X#i z;cI-<$VLG+4rT&#k^9=^09!G8y}j-mUX*o+>DQ#SU7y5e{)T1HIzSEC&fzRz%K0X# z)nE+f3SHQFgf?R>@kDZG30UVaR5o|*9D?&n^Br-)e_~c6!&-%OVaMNy`nDJ7#&{vA z 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
w0a69dr9X`4 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 z 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 f0C#sZ#s-sSw|9>WY*(ivaFrafELTm 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 rule_0[Rule 0
AF-ZA
AS
OC] + query --geolocate--> rule_1[Rule 1
AF
EU] + query --geolocate--> rule_2["Rule 2
(catch all)"] + rule_0 --to pool--> pool_apac[Pool apac
1.1.1.1
2.2.2.2] + pool_apac --fallback--> pool_na + rule_1 --to pool--> pool_eu["Pool eu
3.3.3.3 (2/5)
4.4.4.4 (3/5)"] + pool_eu --fallback--> pool_na + rule_2 --to pool---> pool_na[Pool na
5.5.5.5
6.6.6.6
7.7.7.7] + pool_na --fallback--> values[values
3.3.3.3
4.4.4.4
5.5.5.5
6.6.6.6
7.7.7.7] + + classDef queryColor fill:#3B67A8,color:#ffffff + classDef ruleColor fill:#D8F57A,color:#000000 + classDef poolColor fill:#F57261,color:#000000 + classDef valueColor fill:#498FF5,color:#000000 + + class query queryColor + class rule_0,rule_1,rule_2 ruleColor + class pool_apac,pool_eu,pool_na poolColor + class values valueColor +``` + + #### Geo Codes From 2cff4c75d27b5277a7197ce3a3e5e7a43e67a214 Mon Sep 17 00:00:00 2001 From: Benjamin Kane <6081085+bbkane@users.noreply.github.com> Date: Fri, 21 Apr 2023 14:44:32 -0700 Subject: [PATCH 17/18] Emphasize rule order --- docs/dynamic_records.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/docs/dynamic_records.md b/docs/dynamic_records.md index 58a87f6..7493d98 100644 --- a/docs/dynamic_records.md +++ b/docs/dynamic_records.md @@ -81,14 +81,15 @@ If you encounter validation errors in dynamic records suggesting best practices title: Visual Representation of the Rules and Pools --- flowchart LR - query((Query)) --goelocate--> rule_0[Rule 0
AF-ZA
AS
OC] - query --geolocate--> rule_1[Rule 1
AF
EU] - query --geolocate--> rule_2["Rule 2
(catch all)"] - rule_0 --to pool--> pool_apac[Pool apac
1.1.1.1
2.2.2.2] + query((Query)) --> rule_0[Rule 0
AF-ZA
AS
OC] + rule_0 --no match--> rule_1[Rule 1
AF
EU] + rule_1 --no match--> rule_2["Rule 2
(catch all)"] + + rule_0 --match--> pool_apac[Pool apac
1.1.1.1
2.2.2.2] pool_apac --fallback--> pool_na - rule_1 --to pool--> pool_eu["Pool eu
3.3.3.3 (2/5)
4.4.4.4 (3/5)"] + rule_1 --match--> pool_eu["Pool eu
3.3.3.3 (2/5)
4.4.4.4 (3/5)"] pool_eu --fallback--> pool_na - rule_2 --to pool---> pool_na[Pool na
5.5.5.5
6.6.6.6
7.7.7.7] + rule_2 --> pool_na[Pool na
5.5.5.5
6.6.6.6
7.7.7.7] pool_na --fallback--> values[values
3.3.3.3
4.4.4.4
5.5.5.5
6.6.6.6
7.7.7.7] classDef queryColor fill:#3B67A8,color:#ffffff From 4e0729d6c92556804b103074e837bcec4cd10374 Mon Sep 17 00:00:00 2001 From: Viranch Mehta Date: Wed, 3 May 2023 21:31:19 -0700 Subject: [PATCH 18/18] Add tests for full coverage --- tests/test_octodns_provider_base.py | 41 ++++++ tests/test_octodns_record_dynamic.py | 207 +++++++++++++++++++++++++++ 2 files changed, 248 insertions(+) diff --git a/tests/test_octodns_provider_base.py b/tests/test_octodns_provider_base.py index 1ff5999..3b69b4a 100644 --- a/tests/test_octodns_provider_base.py +++ b/tests/test_octodns_provider_base.py @@ -394,6 +394,47 @@ class TestBaseProvider(TestCase): record2.dynamic.pools['one'].data['values'][0]['status'], 'obey' ) + # SUPPORTS_DYNAMIC_SUBNETS + provider.SUPPORTS_POOL_VALUE_STATUS = False + zone1 = Zone('unit.tests.', []) + record1 = Record.new( + zone1, + 'a', + { + 'dynamic': { + 'pools': { + 'one': {'values': [{'value': '1.1.1.1'}]}, + 'two': {'values': [{'value': '2.2.2.2'}]}, + 'three': {'values': [{'value': '3.3.3.3'}]}, + }, + 'rules': [ + {'subnets': ['10.1.0.0/16'], 'pool': 'two'}, + { + 'subnets': ['11.1.0.0/16'], + 'geos': ['NA'], + 'pool': 'three', + }, + {'pool': 'one'}, + ], + }, + 'type': 'A', + 'ttl': 3600, + 'values': ['2.2.2.2'], + }, + ) + zone1.add_record(record1) + + zone2 = provider._process_desired_zone(zone1.copy()) + record2 = list(zone2.records)[0] + dynamic = record2.dynamic + # subnet-only rule is dropped + self.assertNotEqual('two', dynamic.rules[0].data['pool']) + self.assertEqual(2, len(dynamic.rules)) + # subnets are dropped from subnet+geo rule + self.assertFalse('subnets' in dynamic.rules[0].data) + # unused pool is dropped + self.assertFalse('two' in record2.dynamic.pools) + # SUPPORTS_ROOT_NS provider.SUPPORTS_ROOT_NS = False zone1 = Zone('unit.tests.', []) diff --git a/tests/test_octodns_record_dynamic.py b/tests/test_octodns_record_dynamic.py index b930ee5..589c7d0 100644 --- a/tests/test_octodns_record_dynamic.py +++ b/tests/test_octodns_record_dynamic.py @@ -871,6 +871,54 @@ class TestRecordDynamic(TestCase): ctx.exception.reasons, ) + # rule with invalid subnets + a_data = { + 'dynamic': { + 'pools': { + 'one': {'values': [{'value': '3.3.3.3'}]}, + 'two': { + 'values': [{'value': '4.4.4.4'}, {'value': '5.5.5.5'}] + }, + }, + 'rules': [ + {'subnets': '10.1.0.0/16', 'pool': 'two'}, + {'pool': 'one'}, + ], + }, + 'ttl': 60, + 'type': 'A', + 'values': ['1.1.1.1', '2.2.2.2'], + } + with self.assertRaises(ValidationError) as ctx: + Record.new(self.zone, 'bad', a_data) + self.assertEqual( + ['rule 1 subnets must be a list'], ctx.exception.reasons + ) + + # rule with invalid subnet + a_data = { + 'dynamic': { + 'pools': { + 'one': {'values': [{'value': '3.3.3.3'}]}, + 'two': { + 'values': [{'value': '4.4.4.4'}, {'value': '5.5.5.5'}] + }, + }, + 'rules': [ + {'subnets': ['invalid'], 'pool': 'two'}, + {'pool': 'one'}, + ], + }, + 'ttl': 60, + 'type': 'A', + 'values': ['1.1.1.1', '2.2.2.2'], + } + with self.assertRaises(ValidationError) as ctx: + Record.new(self.zone, 'bad', a_data) + self.assertEqual( + ['rule 1 invalid subnet "invalid"'], ctx.exception.reasons + ) + # rule with invalid geos a_data = { 'dynamic': { @@ -1354,3 +1402,162 @@ class TestRecordDynamic(TestCase): ['final rule has "subnets" and/or "geos" and is not catchall'], reasons, ) + + def test_dynamic_subnet_rule_ordering(self): + # boiler plate + a_data = { + 'dynamic': { + 'pools': { + 'one': {'values': [{'value': '3.3.3.3'}]}, + 'two': { + 'values': [{'value': '4.4.4.4'}, {'value': '5.5.5.5'}] + }, + 'three': {'values': [{'value': '2.2.2.2'}]}, + } + }, + 'ttl': 60, + 'type': 'A', + 'values': ['1.1.1.1', '2.2.2.2'], + } + dynamic = a_data['dynamic'] + + def validate_rules(rules): + dynamic['rules'] = rules + with self.assertRaises(ValidationError) as ctx: + Record.new(self.zone, 'bad', a_data) + return ctx.exception.reasons + + # valid subnet-only → subnet+geo + dynamic['rules'] = [ + {'subnets': ['10.1.0.0/16'], 'pool': 'one'}, + {'subnets': ['11.1.0.0/16'], 'geos': ['NA'], 'pool': 'two'}, + {'pool': 'three'}, + ] + record = Record.new(self.zone, 'good', a_data) + self.assertEqual( + '10.1.0.0/16', record.dynamic.rules[0].data['subnets'][0] + ) + + # geo-only → subnet-only + self.assertEqual( + [ + 'rule 2 with only subnet targeting should appear before all geo targeting rules' + ], + validate_rules( + [ + {'geos': ['NA'], 'pool': 'two'}, + {'subnets': ['10.1.0.0/16'], 'pool': 'one'}, + {'pool': 'three'}, + ] + ), + ) + + # geo-only → subnet+geo + self.assertEqual( + [ + 'rule 2 with subnet(s) and geo(s) should appear before all geo-only rules' + ], + validate_rules( + [ + {'geos': ['NA'], 'pool': 'two'}, + {'subnets': ['10.1.0.0/16'], 'geos': ['AS'], 'pool': 'one'}, + {'pool': 'three'}, + ] + ), + ) + + # subnet+geo → subnet-only + self.assertEqual( + [ + 'rule 2 with only subnet targeting should appear before all geo targeting rules' + ], + validate_rules( + [ + {'subnets': ['11.1.0.0/16'], 'geos': ['NA'], 'pool': 'two'}, + {'subnets': ['10.1.0.0/16'], 'pool': 'one'}, + {'pool': 'three'}, + ] + ), + ) + + # geo-only → subnet+geo → subnet-only + self.assertEqual( + [ + 'rule 2 with subnet(s) and geo(s) should appear before all geo-only rules', + 'rule 3 with only subnet targeting should appear before all geo targeting rules', + ], + validate_rules( + [ + {'geos': ['NA'], 'pool': 'two'}, + {'subnets': ['10.1.0.0/16'], 'geos': ['AS'], 'pool': 'one'}, + {'subnets': ['11.1.0.0/16'], 'pool': 'three'}, + {'pool': 'one'}, + ] + ), + ) + + def test_dynanic_subnet_ordering(self): + # boiler plate + a_data = { + 'dynamic': { + 'pools': { + 'one': {'values': [{'value': '3.3.3.3'}]}, + 'two': { + 'values': [{'value': '4.4.4.4'}, {'value': '5.5.5.5'}] + }, + 'three': {'values': [{'value': '2.2.2.2'}]}, + } + }, + 'ttl': 60, + 'type': 'A', + 'values': ['1.1.1.1', '2.2.2.2'], + } + dynamic = a_data['dynamic'] + + def validate_rules(rules): + dynamic['rules'] = rules + with self.assertRaises(ValidationError) as ctx: + Record.new(self.zone, 'bad', a_data) + return ctx.exception.reasons + + # duplicate subnet + self.assertEqual( + [ + 'rule 2 targets subnet 10.1.0.0/16 which has previously been seen in rule 1' + ], + validate_rules( + [ + {'subnets': ['10.1.0.0/16'], 'pool': 'two'}, + {'subnets': ['10.1.0.0/16'], 'pool': 'one'}, + {'pool': 'three'}, + ] + ), + ) + + # more specific subnet than previous + self.assertEqual( + [ + 'rule 2 targets subnet 10.1.1.0/24 which is more specific than the previously seen 10.1.0.0/16 in rule 1' + ], + validate_rules( + [ + {'subnets': ['10.1.0.0/16'], 'pool': 'two'}, + {'subnets': ['10.1.1.0/24'], 'pool': 'one'}, + {'pool': 'three'}, + ] + ), + ) + + # sub-subnet in the same rule + self.assertEqual( + [ + 'rule 1 targets subnet 10.1.1.0/24 which is more specific than the previously seen 10.1.0.0/16 in rule 1' + ], + validate_rules( + [ + {'subnets': ['10.1.0.0/16', '10.1.1.0/24'], 'pool': 'two'}, + {'subnets': ['11.1.0.0/16'], 'pool': 'one'}, + {'pool': 'three'}, + ] + ), + )