summaryrefslogtreecommitdiffstats
path: root/ipa-client/ipa-install/ipa-client-install
diff options
context:
space:
mode:
Diffstat (limited to 'ipa-client/ipa-install/ipa-client-install')
-rwxr-xr-xipa-client/ipa-install/ipa-client-install54
1 files changed, 35 insertions, 19 deletions
diff --git a/ipa-client/ipa-install/ipa-client-install b/ipa-client/ipa-install/ipa-client-install
index 4433fc71..97332d1a 100755
--- a/ipa-client/ipa-install/ipa-client-install
+++ b/ipa-client/ipa-install/ipa-client-install
@@ -611,41 +611,57 @@ def uninstall(options, env):
if was_sshd_configured and ipaservices.knownservices.sshd.is_running():
ipaservices.knownservices.sshd.restart()
- if not options.unattended:
- root_logger.info(
- "The original nsswitch.conf configuration has been restored.")
- root_logger.info(
- "You may need to restart services or reboot the machine.")
- if not options.on_master:
- if user_input("Do you want to reboot the machine?", False):
- try:
- run(["/sbin/reboot"])
- except Exception, e:
- root_logger.error(
- "Reboot command failed to exceute: %s", str(e))
- return CLIENT_UNINSTALL_ERROR
-
rv = 0
if fstore.has_files():
- root_logger.error('Some files have not been restored, see /var/lib/ipa-client/sysrestore/sysrestore.index')
+ root_logger.error('Some files have not been restored, see '
+ '/var/lib/ipa-client/sysrestore/sysrestore.index')
has_state = False
for module in statestore.modules.keys():
- root_logger.error('Some installation state for %s has not been restored, see /var/lib/ipa/sysrestore/sysrestore.state' % module)
+ root_logger.error('Some installation state for %s has not been '
+ 'restored, see /var/lib/ipa/sysrestore/sysrestore.state',
+ module)
has_state = True
rv = 1
if has_state:
- root_logger.warning('Some installation state has not been restored.\nThis may cause re-installation to fail.\nIt should be safe to remove /var/lib/ipa-client/sysrestore.state but it may\nmean your system hasn\'t be restored to its pre-installation state.')
+ root_logger.warning(
+ 'Some installation state has not been restored.\n'
+ 'This may cause re-installation to fail.\n'
+ 'It should be safe to remove /var/lib/ipa-client/sysrestore.state '
+ 'but it may\n mean your system hasn\'t been restored '
+ 'to its pre-installation state.')
# Remove the IPA configuration file
try:
os.remove("/etc/ipa/default.conf")
- except Exception:
- pass
+ except OSError, e:
+ root_logger.warning('/etc/ipa/default.conf could not be removed: %s',
+ str(e))
+ root_logger.warning('Please remove /etc/ipa/default.conf manually, '
+ 'as it can cause subsequent installation to fail.')
root_logger.info("Client uninstall complete.")
+ # The next block of code prompts for reboot, therefore all uninstall
+ # logic has to be done before
+
+ if not options.unattended:
+ root_logger.info(
+ "The original nsswitch.conf configuration has been restored.")
+ root_logger.info(
+ "You may need to restart services or reboot the machine.")
+ if not options.on_master:
+ if user_input("Do you want to reboot the machine?", False):
+ try:
+ run(["/sbin/reboot"])
+ except Exception, e:
+ root_logger.error(
+ "Reboot command failed to exceute: %s", str(e))
+ return CLIENT_UNINSTALL_ERROR
+
+ # IMPORTANT: Do not put any client uninstall logic after the block above
+
return rv
def configure_ipa_conf(fstore, cli_basedn, cli_realm, cli_domain, cli_server):