from teuthology.config import config
from teuthology.exceptions import MaxWhileTries
-from six import reraise
log = logging.getLogger(__name__)
# Don't rely on sys.exc_info() still containing
# the right information. Another exception may
# have been raised and caught by an exit method
- reraise(*exc)
+ raise exc[1]
class safe_while(object):
import getpass
import socket
import subprocess
-import sys
import tarfile
import time
import yaml
from teuthology.contextutil import safe_while
from teuthology.orchestra.opsys import DEFAULT_OS_VERSION
-from six import (reraise, ensure_str)
+from six import ensure_str
+
log = logging.getLogger(__name__)
:param type_: type of daemons to be stopped.
"""
log.info('Shutting down %s daemons...' % type_)
- exc_info = (None, None, None)
+ exc = None
for daemon in ctx.daemons.iter_daemons_of_role(type_, cluster):
try:
daemon.stop()
except (CommandFailedError,
CommandCrashedError,
- ConnectionLostError):
- exc_info = sys.exc_info()
+ ConnectionLostError) as e:
+ exc = e
log.exception('Saw exception from %s.%s', daemon.role, daemon.id_)
- if exc_info != (None, None, None):
- reraise(*exc_info)
+ if exc is not None:
+ raise exc
def get_system_type(remote, distro=False, version=False):
import gevent.pool
import gevent.queue
-from six import reraise
log = logging.getLogger(__name__)
def resurrect_traceback(exc):
if isinstance(exc, ExceptionHolder):
- exc_info = exc.exc_info
+ raise exc.exc_info[1]
elif isinstance(exc, BaseException):
- exc_info = (type(exc), exc, None)
+ raise exc
else:
return
- reraise(*exc_info)
-
class parallel(object):
"""