Browse Source

powerdns: deletes before replaces

pull/675/head
Steven Honson 5 years ago
committed by GitHub
parent
commit
39d86f023e
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 0 deletions
  1. +7
    -0
      octodns/provider/powerdns.py

+ 7
- 0
octodns/provider/powerdns.py View File

@ -7,6 +7,7 @@ from __future__ import absolute_import, division, print_function, \
from requests import HTTPError, Session from requests import HTTPError, Session
import logging import logging
from operator import itemgetter
from ..record import Create, Record from ..record import Create, Record
from .base import BaseProvider from .base import BaseProvider
@ -381,6 +382,12 @@ class PowerDnsBaseProvider(BaseProvider):
for change in changes: for change in changes:
class_name = change.__class__.__name__ class_name = change.__class__.__name__
mods.append(getattr(self, '_mod_{}'.format(class_name))(change)) 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') self.log.debug('_apply: sending change request')
try: try:


Loading…
Cancel
Save