diff options
author | Martin Babinsky <mbabinsk@redhat.com> | 2015-11-27 14:05:21 +0100 |
---|---|---|
committer | Martin Basti <mbasti@redhat.com> | 2015-12-01 09:39:19 +0100 |
commit | f6240f21fc9ae2ade54acedf98770e5f5e433d38 (patch) | |
tree | 6457692d35b2b716f864b5cf3981224fea21f19a | |
parent | 48548508676a28dae7c5a27b01fbe8bf288c1e8c (diff) | |
download | freeipa-f6240f21fc9ae2ade54acedf98770e5f5e433d38.tar.gz freeipa-f6240f21fc9ae2ade54acedf98770e5f5e433d38.tar.xz freeipa-f6240f21fc9ae2ade54acedf98770e5f5e433d38.zip |
perform IPA client uninstallation as a last step of server uninstall
With the ability to promote replicas from an enrolled client the
uninstallation procedure has to be changed slightly. If the client-side
components are not removed last during replica uninstallation, we can end up
with leftover ipa default.conf preventing future client re-enrollment.
https://fedorahosted.org/freeipa/ticket/5410
Reviewed-By: Martin Basti <mbasti@redhat.com>
Reviewed-By: Jan Cholasta <jcholast@redhat.com>
-rw-r--r-- | ipaserver/install/server/install.py | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/ipaserver/install/server/install.py b/ipaserver/install/server/install.py index 6ecb87ac9..bd07793bb 100644 --- a/ipaserver/install/server/install.py +++ b/ipaserver/install/server/install.py @@ -1046,19 +1046,6 @@ def uninstall(installer): except Exception as e: pass - print("Removing IPA client configuration") - try: - (stdout, stderr, rc) = run([paths.IPA_CLIENT_INSTALL, "--on-master", - "--unattended", "--uninstall"], - raiseonerr=False) - if rc not in [0, 2]: - root_logger.debug("ipa-client-install returned %d" % rc) - raise RuntimeError(stdout) - except Exception as e: - rv = 1 - print("Uninstall of client side components failed!") - print("ipa-client-install returned: " + str(e)) - ntpinstance.NTPInstance(fstore).uninstall() kra.uninstall(False) @@ -1138,6 +1125,19 @@ def uninstall(installer): ' # getcert stop-tracking -i <request_id>\n' 'for each id in: %s' % ', '.join(ids)) + print("Removing IPA client configuration") + try: + (stdout, stderr, rc) = run([paths.IPA_CLIENT_INSTALL, "--on-master", + "--unattended", "--uninstall"], + raiseonerr=False) + if rc not in [0, 2]: + root_logger.debug("ipa-client-install returned %d" % rc) + raise RuntimeError(stdout) + except Exception as e: + rv = 1 + print("Uninstall of client side components failed!") + print("ipa-client-install returned: " + str(e)) + sys.exit(rv) |