diff options
author | Tomas Babej <tbabej@redhat.com> | 2013-03-26 16:09:24 +0100 |
---|---|---|
committer | Rob Crittenden <rcritten@redhat.com> | 2013-04-02 09:44:11 -0400 |
commit | b50ebfbc367ac2bf37e8efb7ce53f1b8f856de9a (patch) | |
tree | 578c57bb964f62916222deb33166fbe97f198a3a | |
parent | 193192a257b9234bdbfc4326a3463a5b5953d491 (diff) | |
download | freeipa-b50ebfbc367ac2bf37e8efb7ce53f1b8f856de9a.tar.gz freeipa-b50ebfbc367ac2bf37e8efb7ce53f1b8f856de9a.tar.xz freeipa-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-x | install/tools/ipa-replica-install | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/install/tools/ipa-replica-install b/install/tools/ipa-replica-install index 36e85a8b1..c054f0606 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() |