From eb7b3ca289c5a7878a05a38679a9f1e5ee27a2c8 Mon Sep 17 00:00:00 2001 From: Mike McLean Date: Feb 08 2025 19:36:50 +0000 Subject: kojivmd: refuse tasks instead of ignoring them --- diff --git a/koji/daemon.py b/koji/daemon.py index 1c51ef4..5d2eeaf 100644 --- a/koji/daemon.py +++ b/koji/daemon.py @@ -1432,6 +1432,7 @@ class TaskManager(object): # we do not trap these raise 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)) return except koji.tasks.ServerRestart: diff --git a/vm/kojivmd b/vm/kojivmd index 45eab81..92c110f 100755 --- a/vm/kojivmd +++ b/vm/kojivmd @@ -50,6 +50,7 @@ from koji.daemon import SCM, TaskManager from koji.tasks import ( # noqa: F401 BaseTaskHandler, MultiPlatformTask, + RefuseTask, RestartTask, # handle restarted vm tasks RestartVerifyTask, # handle restarted vm tasks ServerExit, @@ -1084,8 +1085,8 @@ class VMTaskManager(TaskManager): if e.get_error_code() == libvirt.VIR_ERR_NO_DOMAIN: # if this builder does not have the requested VM, # we can't handle the task - self.logger.debug('VM %s not available, ignoring task %i', vm_name, task['id']) - return False + msg = 'VM %s not available' % vm_name + raise RefuseTask(msg) else: raise return super(VMTaskManager, self).takeTask(task)