1
0
mirror of https://github.com/github/octodns.git synced 2024-05-11 05:55:00 +00:00

powerdns: deletes before replaces

This commit is contained in:
Steven Honson
2021-02-12 00:29:48 +11:00
committed by GitHub
parent 89356f8302
commit 39d86f023e

View File

@@ -7,6 +7,7 @@ from __future__ import absolute_import, division, print_function, \
from requests import HTTPError, Session
import logging
from operator import itemgetter
from ..record import Create, Record
from .base import BaseProvider
@@ -381,6 +382,12 @@ class PowerDnsBaseProvider(BaseProvider):
for change in changes:
class_name = change.__class__.__name__
mods.append(getattr(self, '_mod_{}'.format(class_name))(change))
# Ensure that any DELETE modifications always occur before any REPLACE
# modifications. This ensures that an A record can be replaced by a
# CNAME record and vice-versa.
mods = sorted(mods, key=itemgetter('changetype'))
self.log.debug('_apply: sending change request')
try: