summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Basti <mbasti@redhat.com>2016-06-16 21:16:39 +0200
committerMartin Basti <mbasti@redhat.com>2016-06-17 18:05:03 +0200
commit313e63e3e4ba1aa3dd2ae5de54f6d277329fffee (patch)
treeb19aa85c420fa1e285e219a78998b3caee2c9e58
parent4155eb7b13b20605886ba79c02c232f83a7b439c (diff)
downloadfreeipa-313e63e3e4ba1aa3dd2ae5de54f6d277329fffee.tar.gz
freeipa-313e63e3e4ba1aa3dd2ae5de54f6d277329fffee.tar.xz
freeipa-313e63e3e4ba1aa3dd2ae5de54f6d277329fffee.zip
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>
-rw-r--r--ipaserver/dns_data_management.py27
-rw-r--r--ipaserver/install/bindinstance.py22
2 files changed, 26 insertions, 23 deletions
diff --git a/ipaserver/dns_data_management.py b/ipaserver/dns_data_management.py
index 4074b0318..3ca40c785 100644
--- a/ipaserver/dns_data_management.py
+++ b/ipaserver/dns_data_management.py
@@ -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(
diff --git a/ipaserver/install/bindinstance.py b/ipaserver/install/bindinstance.py
index e49abce23..a335ff5f4 100644
--- a/ipaserver/install/bindinstance.py
+++ b/ipaserver/install/bindinstance.py
@@ -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)