summaryrefslogtreecommitdiffstats
path: root/install/tools/ipa-replica-prepare
diff options
context:
space:
mode:
authorMartin Kosek <mkosek@redhat.com>2011-10-06 11:20:53 +0200
committerMartin Kosek <mkosek@redhat.com>2011-10-06 11:28:25 +0200
commit526a39903a9d9136b7a2cef25cde59074ba1f39c (patch)
treec06cfbd834b3ead30ccf26e586c11a91b8a4c9dd /install/tools/ipa-replica-prepare
parent6dcd1d81216848b2428ea71237bcca826c40686d (diff)
downloadfreeipa-526a39903a9d9136b7a2cef25cde59074ba1f39c.tar.gz
freeipa-526a39903a9d9136b7a2cef25cde59074ba1f39c.tar.xz
freeipa-526a39903a9d9136b7a2cef25cde59074ba1f39c.zip
Improve ipa-replica-prepare DNS check
Currently, verify_fqdn() function raises RuntimeError for every problem with the hostname. This makes it difficult for tools like ipa-replica-prepare to behave differently for a subset of raised errors (for example to be able to create a DNS record for new replica when verify_fqdn() reports a lookup error). Implement own exceptions for verify_fqdn() that they can be safely used to distinguish the error type. https://fedorahosted.org/freeipa/ticket/1899
Diffstat (limited to 'install/tools/ipa-replica-prepare')
-rwxr-xr-xinstall/tools/ipa-replica-prepare6
1 files changed, 3 insertions, 3 deletions
diff --git a/install/tools/ipa-replica-prepare b/install/tools/ipa-replica-prepare
index cd141be18..6b7130be9 100755
--- a/install/tools/ipa-replica-prepare
+++ b/install/tools/ipa-replica-prepare
@@ -29,7 +29,7 @@ from ipapython import ipautil
from ipaserver.install import bindinstance, dsinstance, installutils, certs
from ipaserver.install.bindinstance import add_zone, add_reverse_zone, add_fwd_rr, add_ptr_rr, dns_container_exists
from ipaserver.install.replication import enable_replication_version_checking
-from ipaserver.install.installutils import resolve_host
+from ipaserver.install.installutils import resolve_host, BadHostError, HostLookupError
from ipaserver.plugins.ldap2 import ldap2
from ipapython import version
from ipapython.config import IPAOptionParser
@@ -270,9 +270,9 @@ def main():
try:
installutils.verify_fqdn(replica_fqdn, system_name_check=False)
- except RuntimeError, e:
+ except BadHostError, e:
msg = str(e)
- if msg.startswith('Unable to resolve host name'):
+ if isinstance(e, HostLookupError):
if options.ip_address is None:
if dns_container_exists(api.env.host, api.env.basedn,
dm_password=dirman_password,