From 276a0dfa90be417a0ce37b15027f716baa97a453 Mon Sep 17 00:00:00 2001 From: Florence Blanc-Renaud Date: Thu, 2 Nov 2017 09:34:43 +0100 Subject: [PATCH] Fix ipa-restore (python2) In order to stop tracking LDAP server cert, ipa-restore is using dse.ldif to find the certificate name. But when ipa-server-install --uninstall has been called, the file does not exist, leading to a IOError exception (regression introduced by 87540fe). The ipa-restore code properly catches the exception in python3 because IOError is a subclass of OSError, but in python2 this is not the case. The fix catches IOError and OSError to work properly with both version. Fixes: https://pagure.io/freeipa/issue/7231 Reviewed-By: Rob Crittenden Reviewed-By: Tomas Krizek --- ipaserver/install/ipa_restore.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipaserver/install/ipa_restore.py b/ipaserver/install/ipa_restore.py index 96fc493c774f5de4c8149bf477cb66ec4960de4f..923b1d6696d33c0bb07ca018b53dd3dabcc191aa 100644 --- a/ipaserver/install/ipa_restore.py +++ b/ipaserver/install/ipa_restore.py @@ -815,7 +815,7 @@ class Restore(admintool.AdminTool): try: dsinstance.DsInstance().stop_tracking_certificates( installutils.realm_to_serverid(api.env.realm)) - except OSError: + except (OSError, IOError): # When IPA is not installed, DS NSS DB does not exist pass -- 2.13.6