Closed istr closed 1 year ago
With the following dynamic record, every run will trigger a (no-op) change.
cdn-dev: - dynamic: pools: af: values: - status: up value: 68.70.192.128 apac: values: - status: up value: 89.187.160.25 eu: values: - status: up value: 185.172.148.128 - status: up value: 185.172.148.132 eu_E: values: - status: up value: 137.74.0.47 eu_S: values: - status: up value: 94.126.16.223 eu_SW: values: - status: up value: 82.102.17.19 eu_fr: values: - status: up value: 62.210.90.237 eu_nl: values: - status: up value: 185.172.149.128 - status: up value: 185.172.149.132 eu_uk: values: - status: up value: 68.70.192.128 na: values: - status: up value: 138.199.57.66 - status: up value: 138.199.57.67 ocean: values: - status: up value: 103.231.91.78 sa: values: - status: up value: 103.50.33.23 rules: - geos: - EU-UA - EU-PL - EU-RU - EU-LT - EU-LV - EU-EE pool: eu_E - geos: - EU-CH - EU-IT - EU-MC pool: eu_S - geos: - EU-AD - EU-ES - EU-PT pool: eu_SW - geos: - EU-FR pool: eu_fr - geos: - EU-NL pool: eu_nl - geos: - EU-GB pool: eu_uk - geos: - NA pool: na - geos: - OC pool: ocean - geos: - SA pool: sa - geos: - AF pool: af - geos: - AS pool: apac - pool: eu # catchall - no geos ttl: 60 type: A values: - 185.172.148.128 - 185.172.148.132
The diff is only in the order of the rules:
2023-09-16T20:36:50 [140492986421312] INFO Plan ******************************************************************************** * ingo-struck.com. ******************************************************************************** * constellix (ConstellixProvider) * Update * <ARecord A 60, cdn-dev.ingo-struck.com., ['185.172.148.128', '185.172.148.132'], {'af': {'fallback': None, 'values': [{'value': '68.70.192.128', 'weight': 1, 'status': 'obey'}]}, 'apac': {'fallback': None, 'values': [{'value': '89.187.160.25', 'weight': 1, 'status': 'obey'}]}, 'eu': {'fallback': None, 'values': [{'value': '185.172.148.128', 'weight': 1, 'status': 'obey'}, {'value': '185.172.148.132', 'weight': 1, 'status': 'obey'}]}, 'eu_E': {'fallback': None, 'values': [{'value': '137.74.0.47', 'weight': 1, 'status': 'obey'}]}, 'eu_S': {'fallback': None, 'values': [{'value': '94.126.16.223', 'weight': 1, 'status': 'obey'}]}, 'eu_SW': {'fallback': None, 'values': [{'value': '82.102.17.19', 'weight': 1, 'status': 'obey'}]}, 'eu_fr': {'fallback': None, 'values': [{'value': '62.210.90.237', 'weight': 1, 'status': 'obey'}]}, 'eu_nl': {'fallback': None, 'values': [{'value': '185.172.149.128', 'weight': 1, 'status': 'obey'}, {'value': '185.172.149.132', 'weight': 1, 'status': 'obey'}]}, 'eu_uk': {'fallback': None, 'values': [{'value': '68.70.192.128', 'weight': 1, 'status': 'obey'}]}, 'na': {'fallback': None, 'values': [{'value': '138.199.57.66', 'weight': 1, 'status': 'obey'}, {'value': '138.199.57.67', 'weight': 1, 'status': 'obey'}]}, 'ocean': {'fallback': None, 'values': [{'value': '103.231.91.78', 'weight': 1, 'status': 'obey'}]}, 'sa': {'fallback': None, 'values': [{'value': '103.50.33.23', 'weight': 1, 'status': 'obey'}]}}, [{'pool': 'af', 'geos': ['AF']}, {'pool': 'apac', 'geos': ['AS']}, {'pool': 'eu'}, {'pool': 'eu_E', 'geos': ['EU-EE', 'EU-LT', 'EU-LV', 'EU-PL', 'EU-RU', 'EU-UA']}, {'pool': 'eu_S', 'geos': ['EU-CH', 'EU-IT', 'EU-MC']}, {'pool': 'eu_SW', 'geos': ['EU-AD', 'EU-ES', 'EU-PT']}, {'pool': 'eu_fr', 'geos': ['EU-FR']}, {'pool': 'eu_nl', 'geos': ['EU-NL']}, {'pool': 'eu_uk', 'geos': ['EU-GB']}, {'pool': 'na', 'geos': ['NA']}, {'pool': 'ocean', 'geos': ['OC']}, {'pool': 'sa', 'geos': ['SA']}]> -> * <ARecord A 60, cdn-dev.ingo-struck.com., ['185.172.148.128', '185.172.148.132'], {'af': {'fallback': None, 'values': [{'value': '68.70.192.128', 'weight': 1, 'status': 'obey'}]}, 'apac': {'fallback': None, 'values': [{'value': '89.187.160.25', 'weight': 1, 'status': 'obey'}]}, 'eu': {'fallback': None, 'values': [{'value': '185.172.148.128', 'weight': 1, 'status': 'obey'}, {'value': '185.172.148.132', 'weight': 1, 'status': 'obey'}]}, 'eu_E': {'fallback': None, 'values': [{'value': '137.74.0.47', 'weight': 1, 'status': 'obey'}]}, 'eu_S': {'fallback': None, 'values': [{'value': '94.126.16.223', 'weight': 1, 'status': 'obey'}]}, 'eu_SW': {'fallback': None, 'values': [{'value': '82.102.17.19', 'weight': 1, 'status': 'obey'}]}, 'eu_fr': {'fallback': None, 'values': [{'value': '62.210.90.237', 'weight': 1, 'status': 'obey'}]}, 'eu_nl': {'fallback': None, 'values': [{'value': '185.172.149.128', 'weight': 1, 'status': 'obey'}, {'value': '185.172.149.132', 'weight': 1, 'status': 'obey'}]}, 'eu_uk': {'fallback': None, 'values': [{'value': '68.70.192.128', 'weight': 1, 'status': 'obey'}]}, 'na': {'fallback': None, 'values': [{'value': '138.199.57.66', 'weight': 1, 'status': 'obey'}, {'value': '138.199.57.67', 'weight': 1, 'status': 'obey'}]}, 'ocean': {'fallback': None, 'values': [{'value': '103.231.91.78', 'weight': 1, 'status': 'obey'}]}, 'sa': {'fallback': None, 'values': [{'value': '103.50.33.23', 'weight': 1, 'status': 'obey'}]}}, [{'pool': 'eu_E', 'geos': ['EU-EE', 'EU-LT', 'EU-LV', 'EU-PL', 'EU-RU', 'EU-UA']}, {'pool': 'eu_S', 'geos': ['EU-CH', 'EU-IT', 'EU-MC']}, {'pool': 'eu_SW', 'geos': ['EU-AD', 'EU-ES', 'EU-PT']}, {'pool': 'eu_fr', 'geos': ['EU-FR']}, {'pool': 'eu_nl', 'geos': ['EU-NL']}, {'pool': 'eu_uk', 'geos': ['EU-GB']}, {'pool': 'na', 'geos': ['NA']}, {'pool': 'ocean', 'geos': ['OC']}, {'pool': 'sa', 'geos': ['SA']}, {'pool': 'af', 'geos': ['AF']}, {'pool': 'apac', 'geos': ['AS']}, {'pool': 'eu'}]> (config) * Summary: Creates=0, Updates=1, Deletes=0, Existing Records=45 ********************************************************************************
This is due to missing order information for the rules. They are sorted by pool name when fetched from constellix.
With the following dynamic record, every run will trigger a (no-op) change.
The diff is only in the order of the rules:
This is due to missing order information for the rules. They are sorted by pool name when fetched from constellix.