DNS Locations: when removing location remove it from servers first

Locations should be removed from server by using server-mod during
location-del (future patches will handle DNS records in server-mod)

Referint plugin is configured to remove references of deleted locations.

https://fedorahosted.org/freeipa/ticket/2008

Reviewed-By: Petr Spacek <pspacek@redhat.com>
Reviewed-By: Jan Cholasta <jcholast@redhat.com>
This commit is contained in:
Martin Basti 2016-05-13 18:39:47 +02:00
parent 79544aa51a
commit fd2bd60383
2 changed files with 9 additions and 0 deletions

View File

@ -19,3 +19,4 @@ add: referint-membership-attr: ipaassignedidview
add: referint-membership-attr: ipaallowedtarget
add: referint-membership-attr: ipamemberca
add: referint-membership-attr: ipamembercertprofile
add: referint-membership-attr: ipalocation

View File

@ -137,6 +137,14 @@ class location_del(LDAPDelete):
msg_summary = _('Deleted IPA location "%(value)s"')
def pre_callback(self, ldap, dn, *keys, **options):
assert isinstance(dn, DN)
servers = self.api.Command.server_find(
in_location=keys[-1])['result']
for server in servers:
self.api.Command.server_mod(server['cn'][0], location=None)
return dn
@register()
class location_mod(LDAPUpdate):