mirror of
https://pagure.io/fm-orchestrator.git
synced 2026-04-05 03:38:12 +08:00
Fix 'We have no record of ...' when Koji task finishes by comparing task_id with task_id and not with buil_id.
This commit is contained in:
@@ -87,6 +87,10 @@ class BaseMessage(object):
|
||||
attr = content['attribute']
|
||||
if attr == "state":
|
||||
build_id = content['info']['id']
|
||||
# TODO: Someone with AMQ knowledge should check if
|
||||
# info.id is build id or task_id here. For now I presume
|
||||
# it is task_id.
|
||||
task_id = content['info']['id']
|
||||
build_state = content['new']
|
||||
# These are not available before build is assigned
|
||||
build_name = None
|
||||
@@ -99,7 +103,7 @@ class BaseMessage(object):
|
||||
build_release = content['info']['release']
|
||||
|
||||
msg_obj = KojiBuildChange(
|
||||
msg.id, build_id, build_state, build_name,
|
||||
msg.id, build_id, task_id, build_state, build_name,
|
||||
build_version, build_release)
|
||||
|
||||
elif service == 'module_build_service':
|
||||
@@ -150,13 +154,14 @@ class BaseMessage(object):
|
||||
if category == 'buildsys' and object == 'build' and \
|
||||
subobject == 'state' and event == 'change':
|
||||
build_id = msg_inner_msg.get('build_id')
|
||||
task_id = msg_inner_msg.get('task_id')
|
||||
build_new_state = msg_inner_msg.get('new')
|
||||
build_name = msg_inner_msg.get('name')
|
||||
build_version = msg_inner_msg.get('version')
|
||||
build_release = msg_inner_msg.get('release')
|
||||
|
||||
msg_obj = KojiBuildChange(
|
||||
msg_id, build_id, build_new_state, build_name,
|
||||
msg_id, build_id, task_id, build_new_state, build_name,
|
||||
build_version, build_release)
|
||||
|
||||
elif category == 'buildsys' and object == 'repo' and \
|
||||
@@ -189,10 +194,11 @@ class KojiBuildChange(BaseMessage):
|
||||
:param build_version: the version of the build (e.g. 6.06.06)
|
||||
:param build_release: the release of the build (e.g. 4.fc25)
|
||||
"""
|
||||
def __init__(self, msg_id, build_id, build_new_state, build_name,
|
||||
def __init__(self, msg_id, build_id, task_id, build_new_state, build_name,
|
||||
build_version, build_release):
|
||||
super(KojiBuildChange, self).__init__(msg_id)
|
||||
self.build_id = build_id
|
||||
self.task_id = task_id
|
||||
self.build_new_state = build_new_state
|
||||
self.build_name = build_name
|
||||
self.build_version = build_version
|
||||
|
||||
@@ -312,7 +312,7 @@ class ComponentBuild(RidaBase):
|
||||
def from_component_event(cls, session, event):
|
||||
if type(event) == module_build_service.messaging.KojiBuildChange:
|
||||
return session.query(cls).filter(
|
||||
cls.task_id == event.build_id).first()
|
||||
cls.task_id == event.task_id).first()
|
||||
else:
|
||||
raise ValueError("%r is not a koji message." % event['topic'])
|
||||
|
||||
|
||||
@@ -72,6 +72,7 @@ class TestUtilFunctions(unittest.TestCase):
|
||||
msg_obj = next(module_build_service.messaging._fedmsg_listen(None))
|
||||
self.assertEquals(type(msg_obj), module_build_service.messaging.KojiBuildChange)
|
||||
self.assertEquals(msg_obj.build_id, 2345678)
|
||||
self.assertEquals(msg_obj.task_id, 1234567)
|
||||
self.assertEquals(msg_obj.build_new_state, 0)
|
||||
self.assertEquals(msg_obj.build_name, 'some-package')
|
||||
self.assertEquals(msg_obj.build_version, '2.1.0')
|
||||
|
||||
Reference in New Issue
Block a user