fix #264: failed 'failed module' handling due to missing koji tag

This commit is contained in:
Filip Valder
2016-12-14 14:00:26 +01:00
committed by Matt Prahl
parent 4d0c7a798a
commit e0240edee6
2 changed files with 23 additions and 15 deletions

View File

@@ -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):

View File

@@ -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()