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