PR#4311: kojivmd: refuse tasks instead of ignoring them

Merges #4311
https://pagure.io/koji/pull-request/4311

Fixes: #4312
https://pagure.io/koji/issue/4312
kojivmd: refuse tasks instead of ignoring them
This commit is contained in:
Mike McLean 2025-06-26 14:31:19 -04:00
commit c60830797d
2 changed files with 4 additions and 2 deletions

View file

@ -1432,6 +1432,7 @@ class TaskManager(object):
# we do not trap these # we do not trap these
raise raise
except koji.tasks.RefuseTask as refuse: except koji.tasks.RefuseTask as refuse:
self.logger.warning("Refusing task %s: %s", handler.id, str(refuse))
self.session.host.refuseTask(handler.id, msg=str(refuse)) self.session.host.refuseTask(handler.id, msg=str(refuse))
return return
except koji.tasks.ServerRestart: except koji.tasks.ServerRestart:

View file

@ -50,6 +50,7 @@ from koji.daemon import SCM, TaskManager
from koji.tasks import ( # noqa: F401 from koji.tasks import ( # noqa: F401
BaseTaskHandler, BaseTaskHandler,
MultiPlatformTask, MultiPlatformTask,
RefuseTask,
RestartTask, # handle restarted vm tasks RestartTask, # handle restarted vm tasks
RestartVerifyTask, # handle restarted vm tasks RestartVerifyTask, # handle restarted vm tasks
ServerExit, ServerExit,
@ -1084,8 +1085,8 @@ class VMTaskManager(TaskManager):
if e.get_error_code() == libvirt.VIR_ERR_NO_DOMAIN: if e.get_error_code() == libvirt.VIR_ERR_NO_DOMAIN:
# if this builder does not have the requested VM, # if this builder does not have the requested VM,
# we can't handle the task # we can't handle the task
self.logger.debug('VM %s not available, ignoring task %i', vm_name, task['id']) msg = 'VM %s not available' % vm_name
return False raise RefuseTask(msg)
else: else:
raise raise
return super(VMTaskManager, self).takeTask(task) return super(VMTaskManager, self).takeTask(task)