Skip zone overlap check with auto-reverse

Skip the existing reverse zone overlap check during DNS installation
when both --auto-reverse and --allow-zone-overlap arguments are
provided.

https://pagure.io/freeipa/issue/7239

Reviewed-By: Rob Crittenden <rcritten@redhat.com>
Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
This commit is contained in:
Justin Stephenson authored and Rob Crittenden committed 2018-07-03 09:37:27 -04:00
1 parent 627cb490d2
commit 00dceb434d
2 files changed
+108 -8

No files matched your search

+10 -8
View File
@@ -312,7 +312,7 @@ def read_reverse_zone(default, ip_address, allow_zone_overlap=False):
return normalize_zone(zone)
def get_auto_reverse_zones(ip_addresses):
def get_auto_reverse_zones(ip_addresses, allow_zone_overlap=False):
auto_zones = []
for ip in ip_addresses:
if ipautil.reverse_record_exists(ip):
@@ -320,12 +320,13 @@ def get_auto_reverse_zones(ip_addresses):
logger.info("Reverse record for IP address %s already exists", ip)
continue
default_reverse = get_reverse_zone_default(ip)
try:
dnsutil.check_zone_overlap(default_reverse)
except ValueError:
logger.info("Reverse zone %s for IP address %s already exists",
default_reverse, ip)
continue
if not allow_zone_overlap:
try:
dnsutil.check_zone_overlap(default_reverse)
except ValueError:
logger.info("Reverse zone %s for IP address %s already exists",
default_reverse, ip)
continue
auto_zones.append((ip, default_reverse))
return auto_zones
@@ -503,7 +504,8 @@ def check_reverse_zones(ip_addresses, reverse_zones, options, unattended,
ips_missing_reverse.append(ip)
# create reverse zone for IP addresses that does not have one
for (ip, rz) in get_auto_reverse_zones(ips_missing_reverse):
for (ip, rz) in get_auto_reverse_zones(ips_missing_reverse,
options.allow_zone_overlap):
if options.auto_reverse:
logger.info("Reverse zone %s will be created", rz)
checked_reverse_zones.append(rz)