summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomas Babej <tbabej@redhat.com>2013-03-26 16:09:24 +0100
committerRob Crittenden <rcritten@redhat.com>2013-04-02 09:44:11 -0400
commitb50ebfbc367ac2bf37e8efb7ce53f1b8f856de9a (patch)
tree578c57bb964f62916222deb33166fbe97f198a3a
parent193192a257b9234bdbfc4326a3463a5b5953d491 (diff)
downloadfreeipa.git-b50ebfbc367ac2bf37e8efb7ce53f1b8f856de9a.tar.gz
freeipa.git-b50ebfbc367ac2bf37e8efb7ce53f1b8f856de9a.tar.xz
freeipa.git-b50ebfbc367ac2bf37e8efb7ce53f1b8f856de9a.zip
Properly handle ipa-replica-install when its zone is not managed by IPA
The ipa-replica-install script tries to add replica's A and PTR records to the master DNS, if master does manage DNS. However, master need not manage replica's zone. Properly handle this use case. https://fedorahosted.org/freeipa/ticket/3496
-rwxr-xr-xinstall/tools/ipa-replica-install22
1 files changed, 16 insertions, 6 deletions
diff --git a/install/tools/ipa-replica-install b/install/tools/ipa-replica-install
index 36e85a8b..c054f060 100755
--- a/install/tools/ipa-replica-install
+++ b/install/tools/ipa-replica-install
@@ -299,13 +299,23 @@ def install_dns_records(config, options):
# before our DS server is installed.
with temporary_ldap2_connection(
config.master_host_name, config.dirman_password):
- bind = bindinstance.BindInstance(dm_password=config.dirman_password)
- reverse_zone = bindinstance.find_reverse_zone(config.ip)
+ try:
+ bind = bindinstance.BindInstance(dm_password=config.dirman_password)
+ reverse_zone = bindinstance.find_reverse_zone(config.ip)
+
+ bind.add_master_dns_records(config.host_name, config.ip_address,
+ config.realm_name, config.domain_name,
+ reverse_zone, options.conf_ntp,
+ options.setup_ca)
+ except errors.NotFound, e:
+ root_logger.debug('Replica DNS records could not be added '
+ 'on master: %s', str(e))
+
+ # we should not fail here no matter what
+ except Exception, e:
+ root_logger.info('Replica DNS records could not be added '
+ 'on master: %s', str(e))
- bind.add_master_dns_records(config.host_name, config.ip_address,
- config.realm_name, config.domain_name,
- reverse_zone, options.conf_ntp,
- options.setup_ca)
def check_dirsrv():
(ds_unsecure, ds_secure) = dsinstance.check_ports()