diff options
author | Martin Basti <mbasti@redhat.com> | 2015-05-12 13:31:57 +0200 |
---|---|---|
committer | Jan Cholasta <jcholast@redhat.com> | 2015-05-19 12:43:04 +0000 |
commit | 78baeeb77c867d00c9c1ceb41c58512e487abb0c (patch) | |
tree | f3edc97760ecbfef5ba723b8ef3d4ec367d054ff /ipaserver/install/upgradeinstance.py | |
parent | f6e3088b87cce1e0aefa9afbfeaf00eaea02dff2 (diff) | |
download | freeipa-78baeeb77c867d00c9c1ceb41c58512e487abb0c.tar.gz freeipa-78baeeb77c867d00c9c1ceb41c58512e487abb0c.tar.xz freeipa-78baeeb77c867d00c9c1ceb41c58512e487abb0c.zip |
Server Upgrade: handle errors better
* Prevent to continue with upgrade if a fatal error happened
* Use exceptions to handle failures
https://fedorahosted.org/freeipa/ticket/4904
Reviewed-By: David Kupka <dkupka@redhat.com>
Diffstat (limited to 'ipaserver/install/upgradeinstance.py')
-rw-r--r-- | ipaserver/install/upgradeinstance.py | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/ipaserver/install/upgradeinstance.py b/ipaserver/install/upgradeinstance.py index 862606fdc..2540df60f 100644 --- a/ipaserver/install/upgradeinstance.py +++ b/ipaserver/install/upgradeinstance.py @@ -167,8 +167,6 @@ class IPAUpgrade(service.Service): self.savefilename = '%s/%s.ipa.%s' % (paths.ETC_DIRSRV_SLAPD_INSTANCE_TEMPLATE % serverid, DSE, ext) self.files = files self.modified = False - self.badsyntax = False - self.upgradefailed = False self.serverid = serverid self.schema_files = schema_files self.realm = realm_name @@ -307,13 +305,11 @@ class IPAUpgrade(service.Service): if len(self.files) == 0: self.files = ld.get_all_files(ldapupdate.UPDATES_DIR) self.modified = (ld.update(self.files) or self.modified) - except ldapupdate.BadSyntax, e: - root_logger.error('Bad syntax in upgrade %s' % str(e)) - self.modified = False - self.badsyntax = True - except Exception, e: + except ldapupdate.BadSyntax as e: + root_logger.error('Bad syntax in upgrade %s', e) + raise + except Exception as e: # Bad things happened, return gracefully - self.modified = False - self.upgradefailed = True - root_logger.error('Upgrade failed with %s' % str(e)) + root_logger.error('Upgrade failed with %s', e) root_logger.debug('%s', traceback.format_exc()) + raise RuntimeError(e) |