summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRob Crittenden <rcrit@rhel1.greyoak.com>2008-04-14 19:04:43 -0400
committerRob Crittenden <rcritten@redhat.com>2008-05-08 15:56:10 -0400
commit6538c150b18528e0df9f90da6c65e3a6d533a826 (patch)
tree5533e296bc4de8d388bd7bee29fdecf22f1cabf1
parent318c6adfaeae7b19186e4cee11926fcbb92cef97 (diff)
downloadfreeipa-6538c150b18528e0df9f90da6c65e3a6d533a826.tar.gz
freeipa-6538c150b18528e0df9f90da6c65e3a6d533a826.tar.xz
freeipa-6538c150b18528e0df9f90da6c65e3a6d533a826.zip
Detect existing DS instances and prompt for removal during replica install.
442454
-rw-r--r--ipa-server/ipa-install/ipa-replica-install32
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 98b74a7fb..3bfe07a22 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()