summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xinstall/tools/ipa-dns-install5
-rw-r--r--ipaserver/install/bindinstance.py7
2 files changed, 10 insertions, 2 deletions
diff --git a/install/tools/ipa-dns-install b/install/tools/ipa-dns-install
index 8fc503e4e..ece77ec7c 100755
--- a/install/tools/ipa-dns-install
+++ b/install/tools/ipa-dns-install
@@ -110,6 +110,9 @@ def main():
api.bootstrap(**cfg)
api.finalize()
+ if bindinstance.dns_container_exists(api.env.host, api.env.realm):
+ sys.exit("\nDNS is already configured in this IPA server.")
+
# Check we have a public IP that is associated with the hostname
if options.ip_address:
ip_address = options.ip_address
@@ -176,6 +179,8 @@ except SystemExit, e:
sys.exit(e)
except KeyboardInterrupt:
print "Installation cancelled."
+except RuntimeError, e:
+ print str(e)
except Exception, e:
message = "Unexpected error - see ipaserver-install.log for details:\n %s" % str(e)
print message
diff --git a/ipaserver/install/bindinstance.py b/ipaserver/install/bindinstance.py
index a6b490036..4e63e7e3e 100644
--- a/ipaserver/install/bindinstance.py
+++ b/ipaserver/install/bindinstance.py
@@ -74,8 +74,11 @@ def dns_container_exists(fqdn, realm):
else:
return True
- server = ldap.initialize("ldap://" + fqdn)
- server.simple_bind_s()
+ try:
+ server = ldap.initialize("ldap://" + fqdn)
+ server.simple_bind_s()
+ except ldap.SERVER_DOWN:
+ raise RuntimeError('LDAP server on %s is not responding. Is IPA installed?' % fqdn)
suffix = util.realm_to_suffix(realm)
ret = object_exists("cn=dns,%s" % suffix)