mirror of
https://pagure.io/fm-orchestrator.git
synced 2026-02-12 17:44:59 +08:00
fix #264: failed 'failed module' handling due to missing koji tag
This commit is contained in:
@@ -198,12 +198,13 @@ class ModuleBuild(RidaBase):
|
||||
self.state_reason = state_reason
|
||||
|
||||
log.debug("%r, state %r->%r" % (self, old_state, self.state))
|
||||
module_build_service.messaging.publish(
|
||||
service='module_build_service',
|
||||
topic='module.state.change',
|
||||
msg=self.json(), # Note the state is "init" here...
|
||||
conf=conf,
|
||||
)
|
||||
if old_state != self.state:
|
||||
module_build_service.messaging.publish(
|
||||
service='module_build_service',
|
||||
topic='module.state.change',
|
||||
msg=self.json(), # Note the state is "init" here...
|
||||
conf=conf,
|
||||
)
|
||||
|
||||
@classmethod
|
||||
def by_state(cls, session, state):
|
||||
|
||||
@@ -80,16 +80,23 @@ def failed(config, session, msg):
|
||||
session.commit()
|
||||
raise
|
||||
|
||||
builder = module_build_service.builder.GenericBuilder.create(
|
||||
build.owner, build.name, config.system, config, tag_name=build.koji_tag)
|
||||
builder.buildroot_connect(groups)
|
||||
if build.koji_tag:
|
||||
builder = module_build_service.builder.GenericBuilder.create(
|
||||
build.owner, build.name, config.system, config, tag_name=build.koji_tag)
|
||||
builder.buildroot_connect(groups)
|
||||
|
||||
for component in unbuilt_components:
|
||||
if component.task_id:
|
||||
builder.cancel_build(component.task_id)
|
||||
component.state = koji.BUILD_STATES['FAILED']
|
||||
component.state_reason = build.state_reason
|
||||
session.add(component)
|
||||
for component in unbuilt_components:
|
||||
if component.task_id:
|
||||
builder.cancel_build(component.task_id)
|
||||
component.state = koji.BUILD_STATES['FAILED']
|
||||
component.state_reason = build.state_reason
|
||||
session.add(component)
|
||||
else:
|
||||
reason = "Missing koji tag. Assuming previously failed module lookup in PDC."
|
||||
log.error(reason)
|
||||
build.transition(config, state="failed", state_reason=reason)
|
||||
session.commit()
|
||||
return
|
||||
|
||||
build.transition(config, state="failed")
|
||||
session.commit()
|
||||
|
||||
Reference in New Issue
Block a user