Переглянути джерело

fix(api): reduce traffic with nslord / nsmaster

See https://doc.powerdns.com/authoritative/http-api/zone.html#post--servers-server_id-zones
Peter Thomassen 5 роки тому
батько
коміт
e0716dd380

+ 1 - 1
api/desecapi/management/commands/align-catalog-zone.py

@@ -54,5 +54,5 @@ class Command(BaseCommand):
         if serial is not None:
             data['serial'] = serial + 1  # actually, pdns does increase this as well, but let's not rely on this
 
-        _pdns_post(NSMASTER, '/zones', data)
+        _pdns_post(NSMASTER, '/zones?rrsets=false', data)
         print(f'Aligned catalog zone ({len(zones)} member zones).')

+ 2 - 2
api/desecapi/pdns_change_tracker.py

@@ -84,7 +84,7 @@ class PDNSChangeTracker:
         def pdns_do(self):
             salt = '%016x' % random.randrange(16 ** 16)
             _pdns_post(
-                NSLORD, '/zones',
+                NSLORD, '/zones?rrsets=false',
                 {
                     'name': self.domain_name_normalized,
                     'kind': 'MASTER',
@@ -95,7 +95,7 @@ class PDNSChangeTracker:
             )
 
             _pdns_post(
-                NSMASTER, '/zones',
+                NSMASTER, '/zones?rrsets=false',
                 {
                     'name': self.domain_name_normalized,
                     'kind': 'SLAVE',

+ 2 - 1
api/desecapi/tests/base.py

@@ -237,7 +237,7 @@ class MockPDNSTestCase(APITestCase):
     and httpretty.reset() may be used.
     """
 
-    PDNS_ZONES = r'/zones'
+    PDNS_ZONES = r'/zones\?rrsets=false'
     PDNS_ZONE_CRYPTO_KEYS = r'/zones/(?P<id>[^/]+)/cryptokeys'
     PDNS_ZONE = r'/zones/(?P<id>[^/]+)'
     PDNS_ZONE_AXFR = r'/zones/(?P<id>[^/]+)/axfr-retrieve'
@@ -293,6 +293,7 @@ class MockPDNSTestCase(APITestCase):
             'uri': cls.get_full_pdns_url(cls.PDNS_ZONES, ns=ns),
             'status': 201,
             'body': None,
+            'match_querystring': True,
         }
 
     def request_pdns_zone_create_assert_name(self, ns, name):