DNS Locations: generate NTP records

Move NTP records to centralized record generator

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

Reviewed-By: Petr Spacek <pspacek@redhat.com>
This commit is contained in:
Martin Basti
2016-06-16 21:16:39 +02:00
parent 4155eb7b13
commit 313e63e3e4
2 changed files with 26 additions and 23 deletions

View File

@@ -44,6 +44,11 @@ IPA_DEFAULT_ADTRUST_SRV_REC = (
(DNSName(u'_kerberos._udp.dc._msdcs'), 88),
)
IPA_DEFAULT_NTP_SRV_REC = (
# srv record name, port
(DNSName("_ntp._udp"), 123),
)
class IPADomainIsNotManagedByIPAError(Exception):
pass
@@ -180,6 +185,14 @@ class IPASystemRecords(object):
weight=server['weight']
)
if 'NTP server' in eff_roles:
self.__add_srv_records(
zone_obj,
hostname_abs,
IPA_DEFAULT_NTP_SRV_REC,
weight=server['weight']
)
def _get_location_dns_records_for_server(
self, zone_obj, hostname, locations,
roles=None, include_master_role=True):
@@ -217,6 +230,16 @@ class IPASystemRecords(object):
location=location
)
if 'NTP server' in eff_roles:
self.__add_srv_records(
zone_obj,
hostname_abs,
IPA_DEFAULT_NTP_SRV_REC,
weight=server['weight'],
priority=priority,
location=location
)
return zone_obj
def __prepare_records_update_dict(self, node):
@@ -332,7 +355,8 @@ class IPASystemRecords(object):
names_requiring_cname_templates = set(
rec[0].derelativize(self.domain_abs) for rec in (
IPA_DEFAULT_MASTER_SRV_REC +
IPA_DEFAULT_ADTRUST_SRV_REC
IPA_DEFAULT_ADTRUST_SRV_REC +
IPA_DEFAULT_NTP_SRV_REC
)
)
@@ -405,6 +429,7 @@ class IPASystemRecords(object):
for records in (
IPA_DEFAULT_MASTER_SRV_REC,
IPA_DEFAULT_ADTRUST_SRV_REC,
IPA_DEFAULT_NTP_SRV_REC
):
for name, _port in records:
loc_records.append(

View File

@@ -859,21 +859,6 @@ class BindInstance(service.Service):
def __add_master_records(self, fqdn, addrs):
host, zone = fqdn.split(".", 1)
if normalize_zone(zone) == normalize_zone(self.domain):
host_in_rr = host
else:
host_in_rr = normalize_zone(fqdn)
srv_records = ()
if self.ntp:
srv_records += (
("_ntp._udp", "0 100 123 %s" % host_in_rr),
)
for (rname, rdata) in srv_records:
add_rr(self.domain, rname, "SRV", rdata, self.dns_backup,
api=self.api)
if not dns_zone_exists(zone, self.api):
# check if master hostname is resolvable
try:
@@ -1097,13 +1082,6 @@ class BindInstance(service.Service):
self.fqdn = fqdn
self.domain = domain_name
resource_records = (
("_ntp._udp", "SRV", "0 100 123 %s" % self.host_in_rr),
)
for (record, type, rdata) in resource_records:
del_rr(self.domain, record, type, rdata, api=self.api)
areclist = get_fwd_rr(zone, host, api=self.api)
for rdata in areclist:
del_fwd_rr(zone, host, rdata, api=self.api)