If the existing sssd.conf already has the domain configured we throw the config away and start over.

rob
>From 408505a67394ed4e61d6833c253d76516312214f Mon Sep 17 00:00:00 2001
From: Rob Crittenden <[email protected]>
Date: Fri, 14 Oct 2011 14:05:07 -0400
Subject: [PATCH] If our domain is already configured in sssd.conf start with a new config.

https://fedorahosted.org/freeipa/ticket/1989
---
 ipa-client/ipa-install/ipa-client-install |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/ipa-client/ipa-install/ipa-client-install b/ipa-client/ipa-install/ipa-client-install
index 86e19e4..5ac06ab 100755
--- a/ipa-client/ipa-install/ipa-client-install
+++ b/ipa-client/ipa-install/ipa-client-install
@@ -683,7 +683,17 @@ def configure_sssd_conf(fstore, cli_realm, cli_domain, cli_server, options):
         sssdconfig = SSSDConfig.SSSDConfig()
         sssdconfig.new_config()
 
-    domain = sssdconfig.new_domain(cli_domain)
+    try:
+        domain = sssdconfig.new_domain(cli_domain)
+    except SSSDConfig.DomainAlreadyExistsError:
+        print "Domain %s is already configured in existing SSSD config, creating a new one." % cli_domain
+        print "The old /etc/sssd/sssd.conf is backed up and will be restored during uninstall."
+        logging.debug("Domain %s is already configured in existing SSSD config, creating a new one." % cli_domain)
+        del sssdconfig
+        sssdconfig = SSSDConfig.SSSDConfig()
+        sssdconfig.new_config()
+        domain = sssdconfig.new_domain(cli_domain)
+
     domain.add_provider('ipa', 'id')
 
     if not options.on_master:
-- 
1.7.4

_______________________________________________
Freeipa-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/freeipa-devel

Reply via email to