diff options
-rwxr-xr-x | install/tools/ipa-dns-install | 5 | ||||
-rw-r--r-- | ipaserver/install/bindinstance.py | 7 |
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) |