summaryrefslogtreecommitdiffstats
path: root/ipaserver/install/cainstance.py
diff options
context:
space:
mode:
Diffstat (limited to 'ipaserver/install/cainstance.py')
-rw-r--r--ipaserver/install/cainstance.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/ipaserver/install/cainstance.py b/ipaserver/install/cainstance.py
index bb7e00e2e..9e55333db 100644
--- a/ipaserver/install/cainstance.py
+++ b/ipaserver/install/cainstance.py
@@ -336,6 +336,9 @@ class CADSInstance(service.Service):
logging.critical("Failed to restart the directory server. See the installation log for details.")
def uninstall(self):
+ if self.is_configured():
+ self.print_msg("Unconfiguring CA directory server")
+
running = self.restore_state("running")
enabled = self.restore_state("enabled")
serverid = self.restore_state("serverid")
@@ -351,6 +354,7 @@ class CADSInstance(service.Service):
if not serverid is None:
dsinstance.erase_ds_instance_data(serverid)
+ self.service_name="pkids"
ds_user = self.restore_state("user")
user_exists = self.restore_state("user_exists")
@@ -1028,6 +1032,13 @@ class CAInstance(service.Service):
self.__restart_instance()
def uninstall(self):
+ if self.is_configured():
+ self.print_msg("Unconfiguring CA")
+
+ enabled = self.restore_state("enabled")
+ if not enabled is None and not enabled:
+ self.chkconfig_off()
+
try:
ipautil.run(["/usr/bin/pkiremove", "-pki_instance_root=/var/lib",
"-pki_instance_name=%s" % PKI_INSTANCE_NAME, "--force"])
@@ -1039,6 +1050,14 @@ class CAInstance(service.Service):
except ipautil.CalledProcessError, e:
pass
+ pki_user = self.restore_state("user")
+ user_exists = self.restore_state("user_exists")
+ if not pki_user is None and not user_exists is None and not user_exists:
+ try:
+ ipautil.run(["/usr/sbin/userdel", pki_user])
+ except ipautil.CalledProcessError, e:
+ logging.critical("failed to delete user %s" % e)
+
if __name__ == "__main__":
installutils.standard_logging_setup("install.log", False)
cs = CADSInstance()