summaryrefslogtreecommitdiffstats
path: root/install/tools/ipa-replica-install
diff options
context:
space:
mode:
authorSimo Sorce <ssorce@redhat.com>2011-01-21 14:46:58 -0500
committerSimo Sorce <ssorce@redhat.com>2011-01-25 14:01:35 -0500
commitcec3978c799220164ba0f560d3e764a0d879bb05 (patch)
treec31e48bd9b3397b8914cccbd0734246b1f824c4b /install/tools/ipa-replica-install
parentbc7ed9b1e3ad520c7fc61b393ddfa6a99c09de2e (diff)
downloadfreeipa-cec3978c799220164ba0f560d3e764a0d879bb05.tar.gz
freeipa-cec3978c799220164ba0f560d3e764a0d879bb05.tar.xz
freeipa-cec3978c799220164ba0f560d3e764a0d879bb05.zip
Always add DNS records when installing a replica
Even if the replica is not running a DNS server other replicas might. So if the DNS container is present, then try to add DNS records. Fixes: https://fedorahosted.org/freeipa/ticket/824
Diffstat (limited to 'install/tools/ipa-replica-install')
-rwxr-xr-xinstall/tools/ipa-replica-install24
1 files changed, 21 insertions, 3 deletions
diff --git a/install/tools/ipa-replica-install b/install/tools/ipa-replica-install
index 69c0e7eac..b53ceeea4 100755
--- a/install/tools/ipa-replica-install
+++ b/install/tools/ipa-replica-install
@@ -245,6 +245,8 @@ def install_http(config):
sys.exit(1)
def install_bind(config, options):
+ api.Backend.ldap2.connect(bind_dn="cn=Directory Manager",
+ bind_pw=config.dirman_password)
if options.forwarders:
forwarders = options.forwarders
else:
@@ -266,6 +268,23 @@ def install_bind(config, options):
config.domain_name, forwarders, options.conf_ntp, create_reverse)
bind.create_instance()
+def install_dns_records(config, options):
+
+ if not bindinstance.dns_container_exists(config.host_name,
+ util.realm_to_suffix(config.realm_name)):
+ return
+
+ api.Backend.ldap2.connect(bind_dn="cn=Directory Manager",
+ bind_pw=config.dirman_password)
+ bind = bindinstance.BindInstance(dm_password=config.dirman_password)
+ ip_address = resolve_host(config.host_name)
+ if not ip_address:
+ sys.exit("Unable to resolve IP address for host name")
+
+ bind.add_master_dns_records(config.host_name, ip_address,
+ config.realm_name, config.domain_name,
+ options.conf_ntp)
+
def check_dirsrv():
serverids = dsinstance.check_existing_installation()
if serverids:
@@ -432,10 +451,9 @@ def main():
service.restart("httpd")
if options.setup_dns:
- api.Backend.ldap2.connect(bind_dn="cn=Directory Manager",
- bind_pw=config.dirman_password)
-
install_bind(config, options)
+ else:
+ install_dns_records(config, options)
# Call client install script
try: