From e42f662b78d9a9d9c0ca786e69d7c203e6863462 Mon Sep 17 00:00:00 2001 From: Martin Basti Date: Jun 27 2016 11:35:00 +0000 Subject: Revert "DNS Locations: do not generate location records for unused locations" This reverts commit bbf8227e3fd678d4bd6659a12055ba3dbe1c8230. After deeper investigation, we found out that empty locations are needed for clients, because clients may have cached records for longer time for that particular location. Only way how to remove location is to remove it using location-del https://fedorahosted.org/freeipa/ticket/2008 Reviewed-By: Petr Spacek --- diff --git a/ipaserver/dns_data_management.py b/ipaserver/dns_data_management.py index a9e9c0a..eac2e7d 100644 --- a/ipaserver/dns_data_management.py +++ b/ipaserver/dns_data_management.py @@ -68,7 +68,6 @@ class IPASystemRecords(object): self.api_instance = api_instance self.domain_abs = DNSName(self.api_instance.env.domain).make_absolute() self.servers_data = {} - self.used_locations = set() self.__init_data() def reload_data(self): @@ -92,7 +91,6 @@ class IPASystemRecords(object): def __init_data(self): self.servers_data = {} - self.used_locations = set() servers_result = self.api_instance.Command.server_find( pkey_only=True)['result'] @@ -104,8 +102,6 @@ class IPASystemRecords(object): 'location': location, 'roles': roles, } - if location: - self.used_locations.add(location) def __add_srv_records( self, zone_obj, hostname, rname_port_map, @@ -353,12 +349,13 @@ class IPASystemRecords(object): pkey_only=True)['result'] servers = [s['cn'][0] for s in servers_result] - # generate only records for used location, records for unassigned - # locations are useless + locations_result = self.api_instance.Command.location_find()['result'] + locations = [l['idnsname'][0] for l in locations_result] + for server in servers: self._get_location_dns_records_for_server( zone_obj, server, - self.used_locations, roles=roles, + locations, roles=roles, include_master_role=include_master_role) return zone_obj