colorama==0.4.3 # via cmd2
configobj==5.0.6 # via -r requirements.in
configparser==3.5.0 # via -r requirements.in
-contextlib2==0.6.0.post1 # via raven
cryptography==3.2 # via -r requirements.in, ansible, openstacksdk, paramiko, pyopenssl
debtcollector==2.1.0 # via oslo.config, oslo.utils, python-keystoneclient
decorator==4.4.2 # via dogpile.cache, openstacksdk
python-openstackclient==5.3.1 # via -r requirements.in
pytz==2020.1 # via oslo.serialization, oslo.utils
pyyaml==5.1.2 # via -r requirements.in, ansible, cliff, openstacksdk, oslo.config
-raven==6.0.0 # via -r requirements.in
requests==2.22.0 # via -r requirements.in, apache-libcloud, keystoneauth1, oslo.config, python-cinderclient, python-keystoneclient
requestsexceptions==1.4.0 # via openstacksdk
rfc3986==1.4.0 # via oslo.config
s3transfer==0.2.1 # via boto3
+sentry-sdk==0.19.5 # via teuthology
simplejson==3.17.0 # via osc-lib, python-cinderclient, python-novaclient
six==1.14.0 # via -r requirements.in, bcrypt, cliff, configobj, cryptography, debtcollector, keystoneauth1, munch, oslo.i18n, oslo.utils, pip-tools, pynacl, pyopenssl, pytest, python-cinderclient, python-dateutil, python-keystoneclient, python-openstackclient, tox, virtualenv
stevedore==3.1.0 # via cliff, keystoneauth1, osc-lib, oslo.config, python-keystoneclient, python-openstackclient
from copy import deepcopy
from humanfriendly import format_timespan
+import sentry_sdk
from teuthology.config import config as teuth_config
from teuthology.exceptions import ConnectionLostError
from teuthology.job_status import set_status, get_status
from teuthology.misc import get_http_log_path, get_results_url
-from teuthology.sentry import get_client as get_sentry_client
from teuthology.timer import Timer
log = logging.getLogger(__name__)
ctx.summary['failure_reason'] = str(e)
log.exception('Saw exception from tasks.')
- sentry = get_sentry_client()
- if sentry:
+ if teuth_config.sentry_dsn:
+ sentry_sdk.init(teuth_config.sentry_dsn)
config = deepcopy(ctx.config)
tags = {
job_id = ctx.config.get('job_id')
archive_path = ctx.config.get('archive_path')
- extra = dict(config=config,
+ extras = dict(config=config,
)
if job_id:
- extra['logs'] = get_http_log_path(archive_path, job_id)
+ extras['logs'] = get_http_log_path(archive_path, job_id)
- exc_id = sentry.get_ident(sentry.captureException(
+ exc_id = sentry_sdk.capture_exception(
+ error=e,
tags=tags,
- extra=extra,
- ))
+ extras=extras,
+ )
event_url = "{server}/?query={id}".format(
server=teuth_config.sentry_server.strip('/'), id=exc_id)
log.exception(" Sentry event: %s" % event_url)