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:55:19 -0400
commitc7c94bc7630bfb68fa00c07bbc3f785e6d854a62 (patch)
treed9241c42a38dd5b6a9a9fd2f04a6a67daa76cf19
parente873e29ea71f50928f50a19bbeab6d89bb44ed8b (diff)
downloadfreeipa-c7c94bc7630bfb68fa00c07bbc3f785e6d854a62.tar.gz
freeipa-c7c94bc7630bfb68fa00c07bbc3f785e6d854a62.tar.xz
freeipa-c7c94bc7630bfb68fa00c07bbc3f785e6d854a62.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 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()