mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Create the reverse zone by default
A new option to specify reverse zone creation for unattended installs https://fedorahosted.org/freeipa/ticket/678
This commit is contained in:
@@ -42,6 +42,9 @@ def parse_options():
|
|||||||
help="Add a DNS forwarder")
|
help="Add a DNS forwarder")
|
||||||
parser.add_option("--no-forwarders", dest="no_forwarders", action="store_true",
|
parser.add_option("--no-forwarders", dest="no_forwarders", action="store_true",
|
||||||
default=False, help="Do not add any DNS forwarders, use root servers instead")
|
default=False, help="Do not add any DNS forwarders, use root servers instead")
|
||||||
|
parser.add_option("--no-reverse", dest="no_reverse",
|
||||||
|
action="store_true", default=False,
|
||||||
|
help="Do not create reverse DNS zone")
|
||||||
parser.add_option("--zonemgr", dest="zonemgr",
|
parser.add_option("--zonemgr", dest="zonemgr",
|
||||||
help="DNS zone manager e-mail address. Defaults to root")
|
help="DNS zone manager e-mail address. Defaults to root")
|
||||||
parser.add_option("-U", "--unattended", dest="unattended", action="store_true",
|
parser.add_option("-U", "--unattended", dest="unattended", action="store_true",
|
||||||
@@ -167,7 +170,11 @@ def main():
|
|||||||
sys.exit("\nPassword is not valid!")
|
sys.exit("\nPassword is not valid!")
|
||||||
bind.dm_password = read_password("Directory Manager", confirm=False, validate=False)
|
bind.dm_password = read_password("Directory Manager", confirm=False, validate=False)
|
||||||
|
|
||||||
create_reverse = bindinstance.create_reverse(options.unattended)
|
create_reverse = True
|
||||||
|
if options.unattended:
|
||||||
|
create_reverse = not options.no_reverse
|
||||||
|
elif not options.no_reverse:
|
||||||
|
create_reverse = bindinstance.create_reverse()
|
||||||
bind.setup(api.env.host, ip_address, api.env.realm, api.env.domain, dns_forwarders, conf_ntp, create_reverse, zonemgr=options.zonemgr)
|
bind.setup(api.env.host, ip_address, api.env.realm, api.env.domain, dns_forwarders, conf_ntp, create_reverse, zonemgr=options.zonemgr)
|
||||||
|
|
||||||
if bind.dm_password:
|
if bind.dm_password:
|
||||||
|
@@ -66,6 +66,8 @@ def parse_options():
|
|||||||
help="Add a DNS forwarder")
|
help="Add a DNS forwarder")
|
||||||
parser.add_option("--no-forwarders", dest="no_forwarders", action="store_true",
|
parser.add_option("--no-forwarders", dest="no_forwarders", action="store_true",
|
||||||
default=False, help="Do not add any DNS forwarders, use root servers instead")
|
default=False, help="Do not add any DNS forwarders, use root servers instead")
|
||||||
|
parser.add_option("--no-reverse", dest="no_reverse", action="store_true",
|
||||||
|
default=False, help="Do not create reverse DNS zone")
|
||||||
parser.add_option("--no-host-dns", dest="no_host_dns", action="store_true",
|
parser.add_option("--no-host-dns", dest="no_host_dns", action="store_true",
|
||||||
default=False,
|
default=False,
|
||||||
help="Do not use DNS for hostname lookup during installation")
|
help="Do not use DNS for hostname lookup during installation")
|
||||||
@@ -85,6 +87,8 @@ def parse_options():
|
|||||||
parser.error("You cannot specify a --forwarder option without the --setup-dns option")
|
parser.error("You cannot specify a --forwarder option without the --setup-dns option")
|
||||||
if options.no_forwarders:
|
if options.no_forwarders:
|
||||||
parser.error("You cannot specify a --no-forwarders option without the --setup-dns option")
|
parser.error("You cannot specify a --no-forwarders option without the --setup-dns option")
|
||||||
|
if options.no_reverse:
|
||||||
|
parser.error("You cannot specify a --no-reverse option without the --setup-dns option")
|
||||||
elif options.forwarders and options.no_forwarders:
|
elif options.forwarders and options.no_forwarders:
|
||||||
parser.error("You cannot specify a --forwarder option together with --no-forwarders")
|
parser.error("You cannot specify a --forwarder option together with --no-forwarders")
|
||||||
elif not options.forwarders and not options.no_forwarders:
|
elif not options.forwarders and not options.no_forwarders:
|
||||||
@@ -249,7 +253,15 @@ def install_bind(config, options):
|
|||||||
ip_address = resolve_host(config.host_name)
|
ip_address = resolve_host(config.host_name)
|
||||||
if not ip_address:
|
if not ip_address:
|
||||||
sys.exit("Unable to resolve IP address for host name")
|
sys.exit("Unable to resolve IP address for host name")
|
||||||
create_reverse = bindinstance.create_reverse(options.unattended)
|
|
||||||
|
create_reverse = True
|
||||||
|
if options.unattended:
|
||||||
|
# In unattended mode just use the cmdline flag
|
||||||
|
create_reverse = not options.no_reverse
|
||||||
|
elif not options.no_reverse:
|
||||||
|
# In interactive mode, if the flag was not explicitly specified, ask the user
|
||||||
|
create_reverse = bindinstance.create_reverse()
|
||||||
|
|
||||||
bind.setup(config.host_name, ip_address, config.realm_name,
|
bind.setup(config.host_name, ip_address, config.realm_name,
|
||||||
config.domain_name, forwarders, options.conf_ntp, create_reverse)
|
config.domain_name, forwarders, options.conf_ntp, create_reverse)
|
||||||
bind.create_instance()
|
bind.create_instance()
|
||||||
|
@@ -99,6 +99,8 @@ def parse_options():
|
|||||||
help="Add a DNS forwarder")
|
help="Add a DNS forwarder")
|
||||||
parser.add_option("--no-forwarders", dest="no_forwarders", action="store_true",
|
parser.add_option("--no-forwarders", dest="no_forwarders", action="store_true",
|
||||||
default=False, help="Do not add any DNS forwarders, use root servers instead")
|
default=False, help="Do not add any DNS forwarders, use root servers instead")
|
||||||
|
parser.add_option("--no-reverse", dest="no_reverse", action="store_true",
|
||||||
|
default=False, help="Do not create reverse DNS zone")
|
||||||
parser.add_option("--zonemgr", dest="zonemgr",
|
parser.add_option("--zonemgr", dest="zonemgr",
|
||||||
help="DNS zone manager e-mail address. Defaults to root")
|
help="DNS zone manager e-mail address. Defaults to root")
|
||||||
parser.add_option("-U", "--unattended", dest="unattended", action="store_true",
|
parser.add_option("-U", "--unattended", dest="unattended", action="store_true",
|
||||||
@@ -142,6 +144,8 @@ def parse_options():
|
|||||||
parser.error("You cannot specify a --forwarder option without the --setup-dns option")
|
parser.error("You cannot specify a --forwarder option without the --setup-dns option")
|
||||||
if options.no_forwarders:
|
if options.no_forwarders:
|
||||||
parser.error("You cannot specify a --no-forwarders option without the --setup-dns option")
|
parser.error("You cannot specify a --no-forwarders option without the --setup-dns option")
|
||||||
|
if options.no_reverse:
|
||||||
|
parser.error("You cannot specify a --no-reverse option without the --setup-dns option")
|
||||||
elif options.forwarders and options.no_forwarders:
|
elif options.forwarders and options.no_forwarders:
|
||||||
parser.error("You cannot specify a --forwarder option together with --no-forwarders")
|
parser.error("You cannot specify a --forwarder option together with --no-forwarders")
|
||||||
|
|
||||||
@@ -545,7 +549,7 @@ def main():
|
|||||||
master_password = ""
|
master_password = ""
|
||||||
dm_password = ""
|
dm_password = ""
|
||||||
admin_password = ""
|
admin_password = ""
|
||||||
create_reverse = False
|
create_reverse = True
|
||||||
|
|
||||||
# check bind packages are installed
|
# check bind packages are installed
|
||||||
if options.setup_dns:
|
if options.setup_dns:
|
||||||
@@ -837,7 +841,13 @@ def main():
|
|||||||
# Create a BIND instance
|
# Create a BIND instance
|
||||||
bind = bindinstance.BindInstance(fstore, dm_password)
|
bind = bindinstance.BindInstance(fstore, dm_password)
|
||||||
if options.setup_dns:
|
if options.setup_dns:
|
||||||
create_reverse = bindinstance.create_reverse(options.unattended)
|
if options.unattended:
|
||||||
|
# In unattended mode just use the cmdline flag
|
||||||
|
create_reverse = not options.no_reverse
|
||||||
|
elif not options.no_reverse:
|
||||||
|
# In interactive mode, if the flag was not explicitly specified, ask the user
|
||||||
|
create_reverse = bindinstance.create_reverse()
|
||||||
|
|
||||||
bind.setup(host_name, ip_address, realm_name, domain_name, dns_forwarders, options.conf_ntp, create_reverse, zonemgr=options.zonemgr)
|
bind.setup(host_name, ip_address, realm_name, domain_name, dns_forwarders, options.conf_ntp, create_reverse, zonemgr=options.zonemgr)
|
||||||
if options.setup_dns:
|
if options.setup_dns:
|
||||||
api.Backend.ldap2.connect(bind_dn="cn=Directory Manager", bind_pw=dm_password)
|
api.Backend.ldap2.connect(bind_dn="cn=Directory Manager", bind_pw=dm_password)
|
||||||
|
@@ -58,10 +58,8 @@ def check_inst(unattended):
|
|||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def create_reverse(unattended):
|
def create_reverse():
|
||||||
if unattended:
|
return ipautil.user_input("Do you want to configure the reverse zone?", True)
|
||||||
return False
|
|
||||||
return ipautil.user_input("Do you want to configure the reverse zone?", False)
|
|
||||||
|
|
||||||
def named_conf_exists():
|
def named_conf_exists():
|
||||||
named_fd = open('/etc/named.conf', 'r')
|
named_fd = open('/etc/named.conf', 'r')
|
||||||
@@ -223,7 +221,7 @@ class BindInstance(service.Service):
|
|||||||
self.realm = None
|
self.realm = None
|
||||||
self.forwarders = None
|
self.forwarders = None
|
||||||
self.sub_dict = None
|
self.sub_dict = None
|
||||||
self.create_reverse = False
|
self.create_reverse = True
|
||||||
|
|
||||||
if fstore:
|
if fstore:
|
||||||
self.fstore = fstore
|
self.fstore = fstore
|
||||||
|
Reference in New Issue
Block a user