mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Cleanup and remove more files on uninstall
* /etc/nsswitch.conf.ipabkp * /etc/openldap/ldap.conf.ipabkp * /var/lib/ipa/sysrestore/* * /var/named/dyndb-ldap/ipa/ * /var/lib/dirsrv/scripts-%s/ See: https://pagure.io/freeipa/issue/2694 Signed-off-by: Christian Heimes <cheimes@redhat.com> Reviewed-By: Rob Crittenden <rcritten@redhat.com>
This commit is contained in:
@@ -3329,6 +3329,10 @@ def uninstall(options):
|
||||
# Remove the IPA configuration file
|
||||
remove_file(paths.IPA_DEFAULT_CONF)
|
||||
|
||||
# Remove misc backups
|
||||
remove_file(paths.OPENLDAP_LDAP_CONF + '.ipabkp')
|
||||
remove_file(paths.NSSWITCH_CONF + '.ipabkp')
|
||||
|
||||
# Remove the CA cert from the systemwide certificate store
|
||||
tasks.remove_ca_certs_from_systemwide_ca_store()
|
||||
|
||||
|
||||
@@ -1204,6 +1204,8 @@ class BindInstance(service.Service):
|
||||
except ValueError as error:
|
||||
logger.debug('%s', error)
|
||||
|
||||
installutils.rmtree(paths.BIND_LDAP_DNS_IPA_WORKDIR)
|
||||
|
||||
# disabled by default, by ldap_enable()
|
||||
if enabled:
|
||||
self.enable()
|
||||
|
||||
@@ -1055,12 +1055,18 @@ class DsInstance(service.Service):
|
||||
logger.debug("Removing DS instance %s", serverid)
|
||||
try:
|
||||
remove_ds_instance(serverid)
|
||||
installutils.remove_keytab(paths.DS_KEYTAB)
|
||||
installutils.remove_ccache(run_as=DS_USER)
|
||||
except ipautil.CalledProcessError:
|
||||
logger.error("Failed to remove DS instance. You may "
|
||||
"need to remove instance data manually")
|
||||
|
||||
installutils.remove_keytab(paths.DS_KEYTAB)
|
||||
installutils.remove_ccache(run_as=DS_USER)
|
||||
|
||||
# Remove scripts dir
|
||||
scripts = paths.VAR_LIB_DIRSRV_INSTANCE_SCRIPTS_TEMPLATE % (
|
||||
serverid)
|
||||
installutils.rmtree(scripts)
|
||||
|
||||
# Just eat this state
|
||||
self.restore_state("user_exists")
|
||||
|
||||
|
||||
@@ -1150,6 +1150,10 @@ def uninstall(installer):
|
||||
'but it may\n'
|
||||
'mean your system hasn\'t be restored to its '
|
||||
'pre-installation state.', SYSRESTORE_DIR_PATH)
|
||||
else:
|
||||
# sysrestore.state has no state left, remove it
|
||||
sysrestore = os.path.join(SYSRESTORE_DIR_PATH, 'sysrestore.state')
|
||||
installutils.remove_file(sysrestore)
|
||||
|
||||
# Note that this name will be wrong after the first uninstall.
|
||||
dirname = dsinstance.config_dirname(
|
||||
|
||||
Reference in New Issue
Block a user