diff options
author | Rob Crittenden <rcrit@rhel1.greyoak.com> | 2008-04-14 19:04:43 -0400 |
---|---|---|
committer | Rob Crittenden <rcritten@redhat.com> | 2008-05-08 15:56:10 -0400 |
commit | 6538c150b18528e0df9f90da6c65e3a6d533a826 (patch) | |
tree | 5533e296bc4de8d388bd7bee29fdecf22f1cabf1 /ipa-server/ipa-install/ipa-replica-install | |
parent | 318c6adfaeae7b19186e4cee11926fcbb92cef97 (diff) | |
download | freeipa-6538c150b18528e0df9f90da6c65e3a6d533a826.tar.gz freeipa-6538c150b18528e0df9f90da6c65e3a6d533a826.tar.xz freeipa-6538c150b18528e0df9f90da6c65e3a6d533a826.zip |
Detect existing DS instances and prompt for removal during replica install.
442454
Diffstat (limited to 'ipa-server/ipa-install/ipa-replica-install')
-rw-r--r-- | ipa-server/ipa-install/ipa-replica-install | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/ipa-server/ipa-install/ipa-replica-install b/ipa-server/ipa-install/ipa-replica-install index 98b74a7f..3bfe07a2 100644 --- a/ipa-server/ipa-install/ipa-replica-install +++ b/ipa-server/ipa-install/ipa-replica-install @@ -137,10 +137,42 @@ def install_http(config): print "error copying files: " + str(e) sys.exit(1) +def check_dirsrv(): + serverids = dsinstance.check_existing_installation() + if serverids: + print "" + print "An existing Directory Server has been detected." + yesno = raw_input("Do you wish to remove it and create a new one? [no]: ") + if not yesno or yesno.lower()[0] != "y": + print "" + print "Only a single Directory Server instance is allowed on an IPA" + print "server, the one used by IPA itself." + sys.exit(1) + + try: + service.stop("dirsrv") + except: + pass + + for serverid in serverids: + dsinstance.erase_ds_instance_data(serverid) + + (ds_unsecure, ds_secure) = dsinstance.check_ports() + if not ds_unsecure or not ds_secure: + print "IPA requires ports 389 and 636 for the Directory Server." + print "These are currently in use:" + if not ds_unsecure: + print "\t389" + if not ds_secure: + print "\t636" + sys.exit(1) + def main(): options, filename = parse_options() installutils.standard_logging_setup("/var/log/ipareplica-install.log", options.debug) + check_dirsrv() + top_dir, dir = expand_info(filename) config = ReplicaConfig() |