summaryrefslogtreecommitdiffstats
path: root/ipaserver
diff options
context:
space:
mode:
authorMartin Basti <mbasti@redhat.com>2016-06-13 21:14:56 +0200
committerMartin Basti <mbasti@redhat.com>2016-06-17 15:22:24 +0200
commitd70e52b61b35f42ca2d34ef05310fd2c18c882ce (patch)
tree4c9742b53d549c785e8ff36e13d12fa5b58cfa26 /ipaserver
parent08265f1e92bd91d9e4ba3285b953ff9ccd79040b (diff)
downloadfreeipa-d70e52b61b35f42ca2d34ef05310fd2c18c882ce.tar.gz
freeipa-d70e52b61b35f42ca2d34ef05310fd2c18c882ce.tar.xz
freeipa-d70e52b61b35f42ca2d34ef05310fd2c18c882ce.zip
DNS Locations: dnsserver: remove config when replica is removed
Configuration of DNS server should be removed together with any other information about replica https://fedorahosted.org/freeipa/ticket/2008 Reviewed-By: Petr Spacek <pspacek@redhat.com> Reviewed-By: Jan Cholasta <jcholast@redhat.com>
Diffstat (limited to 'ipaserver')
-rw-r--r--ipaserver/install/replication.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/ipaserver/install/replication.py b/ipaserver/install/replication.py
index a4fd97def..30af20c76 100644
--- a/ipaserver/install/replication.py
+++ b/ipaserver/install/replication.py
@@ -19,6 +19,7 @@
from __future__ import print_function
+import six
import time
import datetime
import sys
@@ -36,6 +37,9 @@ from ipapython.dn import DN
from ipaplatform import services
from ipaplatform.paths import paths
+if six.PY3:
+ unicode = str
+
# the default container used by AD for user entries
WIN_USER_CONTAINER = DN(('cn', 'Users'))
# the default container used by IPA for user entries
@@ -1293,6 +1297,17 @@ class ReplicationManager(object):
elif not err:
err = e
+ # delete DNS server configuration, if any
+ try:
+ api.Command.dnsserver_del(unicode(replica))
+ except errors.NotFound:
+ pass
+ except Exception as e:
+ if not force:
+ raise e
+ elif not err:
+ err = e
+
try:
dn = DN(('cn', 'default'), ('ou', 'profile'), self.suffix)
ret = self.conn.get_entry(dn)