From 42c09751aedf6289f983d4238ae1ff3b44b5f572 Mon Sep 17 00:00:00 2001
From: Petr Spacek <pspacek@redhat.com>
Date: Mon, 25 Jul 2016 15:54:43 +0200
Subject: [PATCH] replica-install: Fix --domain
Replica installation must not check existence of --domain - the domain
must (logically) exist.
https://fedorahosted.org/freeipa/ticket/6130
Reviewed-By: Jan Cholasta <jcholast@redhat.com>
---
ipaserver/install/server/common.py | 5 -----
ipaserver/install/server/install.py | 14 +++++++++++---
2 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/ipaserver/install/server/common.py b/ipaserver/install/server/common.py
index 45fb2dc17976a08acab16783584524721411fb4e..e6093d15cd1067a83ed89945c4a9c983c66ec06f 100644
--- a/ipaserver/install/server/common.py
+++ b/ipaserver/install/server/common.py
@@ -284,11 +284,6 @@ class BaseServer(common.Installable, common.Interactive, core.Composite):
@domain_name.validator
def domain_name(self, value):
validate_domain_name(value)
- if (self.setup_dns and
- not self.dns.allow_zone_overlap): # pylint: disable=no-member
- print("Checking DNS domain %s, please wait ..." % value)
- check_zone_overlap(value, False)
-
dm_password = Knob(
str, None,
diff --git a/ipaserver/install/server/install.py b/ipaserver/install/server/install.py
index c0c676b870b481696ae75742c7bf88074b0ecf9c..65f9318201e648b30a3c13626e807ac6f3a9416d 100644
--- a/ipaserver/install/server/install.py
+++ b/ipaserver/install/server/install.py
@@ -17,6 +17,7 @@ import six
from ipapython import certmonger, ipaldap, ipautil, sysrestore
from ipapython.dn import DN
+from ipapython.dnsutil import check_zone_overlap
from ipapython.install import core
from ipapython.install.common import step
from ipapython.install.core import Knob
@@ -1199,13 +1200,20 @@ class ServerCA(BaseServerCA):
class Server(BaseServer):
- realm_name = Knob(BaseServer.realm_name)
- domain_name = Knob(BaseServer.domain_name)
-
setup_ca = None
setup_kra = None
setup_dns = Knob(BaseServer.setup_dns)
+ realm_name = Knob(BaseServer.realm_name)
+ domain_name = Knob(BaseServer.domain_name)
+
+ @domain_name.validator
+ def domain_name(self, value):
+ if (self.setup_dns and
+ not self.dns.allow_zone_overlap): # pylint: disable=no-member
+ print("Checking DNS domain %s, please wait ..." % value)
+ check_zone_overlap(value, False)
+
dm_password = Knob(
BaseServer.dm_password,
description="Directory Manager password",
--
2.7.4