From: Kyr Shatskyy Date: Fri, 11 Oct 2019 22:04:48 +0000 (+0200) Subject: core: use six.reraise for py2/py3 compatibility X-Git-Tag: 1.1.0~200^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=1a0b4bf33f23751f95fa19d81ae65141e492524d;p=teuthology.git core: use six.reraise for py2/py3 compatibility Signed-off-by: Kyr Shatskyy --- diff --git a/teuthology/contextutil.py b/teuthology/contextutil.py index cdd904953..795147878 100644 --- a/teuthology/contextutil.py +++ b/teuthology/contextutil.py @@ -7,6 +7,8 @@ import itertools from teuthology.config import config from teuthology.exceptions import MaxWhileTries +from six import reraise + log = logging.getLogger(__name__) @contextlib.contextmanager @@ -51,7 +53,7 @@ def nested(*managers): # Don't rely on sys.exc_info() still containing # the right information. Another exception may # have been raised and caught by an exit method - raise exc[0], exc[1], exc[2] + reraise(*exc) class safe_while(object): diff --git a/teuthology/misc.py b/teuthology/misc.py index 037755e5e..e253d4903 100644 --- a/teuthology/misc.py +++ b/teuthology/misc.py @@ -2,7 +2,6 @@ Miscellaneous teuthology functions. Used by other modules, but mostly called from tasks. """ - import argparse import os import logging @@ -30,6 +29,8 @@ from teuthology.config import config from teuthology.contextutil import safe_while from teuthology.orchestra.opsys import DEFAULT_OS_VERSION +from six import reraise + log = logging.getLogger(__name__) import datetime @@ -1208,7 +1209,7 @@ def stop_daemons_of_type(ctx, type_, cluster='ceph'): exc_info = sys.exc_info() log.exception('Saw exception from %s.%s', daemon.role, daemon.id_) if exc_info != (None, None, None): - raise exc_info[0], exc_info[1], exc_info[2] + reraise(*exc_info) def get_system_type(remote, distro=False, version=False): diff --git a/teuthology/parallel.py b/teuthology/parallel.py index 265dfcbdf..40e9139b9 100644 --- a/teuthology/parallel.py +++ b/teuthology/parallel.py @@ -5,6 +5,8 @@ import gevent import gevent.pool import gevent.queue +from six import reraise + log = logging.getLogger(__name__) @@ -32,7 +34,7 @@ def resurrect_traceback(exc): else: return - raise exc_info[0], exc_info[1], exc_info[2] + reraise(*exc_info) class parallel(object):