Merge "Make IRC messages provide more context"
This commit is contained in:
@@ -115,13 +115,19 @@ class RecheckWatch(threading.Thread):
|
||||
LPCACHEDIR)
|
||||
|
||||
def new_error(self, channel, event):
|
||||
msg = '%s change: %s failed with an unrecognized error' % (
|
||||
event.project, event.url)
|
||||
msg = ('%s change: %s failed %s in the %s queue with an unrecognized '
|
||||
'error' % (event.project,
|
||||
event.url,
|
||||
', '.join(event.failed_jobs),
|
||||
event.queue()))
|
||||
self.print_msg(channel, msg)
|
||||
|
||||
def error_found(self, channel, event):
|
||||
msg = ('%s change: %s failed tempest because of: %s' % (
|
||||
event.project, event.url, event.bug_urls()))
|
||||
msg = ('%s change: %s failed %s because of: %s' % (
|
||||
event.project,
|
||||
event.url,
|
||||
", ".join(event.failed_jobs),
|
||||
event.bug_urls()))
|
||||
display = False
|
||||
for project in self._get_bug_projects(event.bugs):
|
||||
if channel in self.channel_config.projects['all']:
|
||||
|
||||
@@ -76,13 +76,16 @@ class FailEvent(object):
|
||||
bugs = set([])
|
||||
short_build_uuids = []
|
||||
comment = None
|
||||
failed_jobs = {}
|
||||
|
||||
def __init__(self, event):
|
||||
def __init__(self, event, failed_jobs):
|
||||
self.change = event['change']['number']
|
||||
self.rev = event['patchSet']['number']
|
||||
self.project = event['change']['project']
|
||||
self.url = event['change']['url']
|
||||
self.comment = event["comment"]
|
||||
#TODO(jogo) make FailEvent generate the jobs
|
||||
self.failed_jobs = failed_jobs
|
||||
self.bugs = set([])
|
||||
|
||||
def is_openstack_project(self):
|
||||
@@ -95,6 +98,13 @@ class FailEvent(object):
|
||||
urls = ['https://bugs.launchpad.net/bugs/%s' % x for x in self.bugs]
|
||||
return ' and '.join(urls)
|
||||
|
||||
def queue(self):
|
||||
# Assume one queue per gerrit event
|
||||
if len(self.failed_jobs) == 0:
|
||||
return None
|
||||
return self.failed_jobs[
|
||||
self.failed_jobs.keys()[0]]['url'].split('/')[6]
|
||||
|
||||
|
||||
class Stream(object):
|
||||
"""Gerrit Stream.
|
||||
@@ -234,7 +244,7 @@ class Stream(object):
|
||||
# nothing to see here, lets try the next event
|
||||
continue
|
||||
|
||||
fevent = FailEvent(event)
|
||||
fevent = FailEvent(event, failed_jobs)
|
||||
|
||||
# bail if it's not an openstack project
|
||||
if not fevent.is_openstack_project():
|
||||
|
||||
Reference in New Issue
Block a user