summaryrefslogtreecommitdiffstats
path: root/install/tools/ipa-server-install
diff options
context:
space:
mode:
Diffstat (limited to 'install/tools/ipa-server-install')
-rwxr-xr-xinstall/tools/ipa-server-install20
1 files changed, 19 insertions, 1 deletions
diff --git a/install/tools/ipa-server-install b/install/tools/ipa-server-install
index 3828a9c48..e8a48fad2 100755
--- a/install/tools/ipa-server-install
+++ b/install/tools/ipa-server-install
@@ -61,6 +61,7 @@ from ipalib.parameters import IA5Str
from ipapython.config import IPAOptionParser
from ipalib.dn import DN
from ipalib.x509 import load_certificate_from_file, load_certificate_chain_from_file
+from ipalib.constants import DNS_ZONE_REFRESH
pw_name = None
uninstalling = False
@@ -140,6 +141,14 @@ def parse_options():
parser.add_option("--zonemgr", action="callback", callback=zonemgr_callback,
type="string",
help="DNS zone manager e-mail address. Defaults to root")
+ parser.add_option("--zone-notif", dest="zone_notif",
+ action="store_true", default=False,
+ help="Let name server receive notification when a new zone is added." \
+ "Zone refresh is turned off when zone notification is enabled")
+ parser.add_option("--zone-refresh", dest="zone_refresh",
+ default=DNS_ZONE_REFRESH, type="int",
+ help="A delay between checks for new DNS zones. Defaults to %d" \
+ % DNS_ZONE_REFRESH)
parser.add_option("-U", "--unattended", dest="unattended", action="store_true",
default=False, help="unattended installation never prompts the user")
parser.add_option("", "--uninstall", dest="uninstall", action="store_true",
@@ -247,6 +256,12 @@ def parse_options():
if not options.pkinit_pkcs12 and not options.selfsign:
options.setup_pkinit = False
+ if options.zone_refresh < 0:
+ parser.error("negative numbers not allowed for --zone-refresh")
+
+ if options.zone_notif: # these 2 features are mutually exclusive
+ options.zone_refresh = 0
+
return safe_options, options
def signal_handler(signum, frame):
@@ -992,7 +1007,10 @@ def main():
# Create a BIND instance
bind = bindinstance.BindInstance(fstore, dm_password)
- bind.setup(host_name, ip_address, realm_name, domain_name, dns_forwarders, options.conf_ntp, reverse_zone, zonemgr=options.zonemgr)
+ bind.setup(host_name, ip_address, realm_name, domain_name, dns_forwarders,
+ options.conf_ntp, reverse_zone, zonemgr=options.zonemgr,
+ zone_refresh=options.zone_refresh,
+ zone_notif=options.zone_notif)
if options.setup_dns:
api.Backend.ldap2.connect(bind_dn="cn=Directory Manager", bind_pw=dm_password)