Set host status to RUNNING on QueueTask abort, since queue entry will be in GATHERING state. Also modify a logging string to be more precise.
Signed-off-by: James Ren <[email protected]> --- autotest/scheduler/monitor_db.py 2010-06-04 17:02:35.000000000 -0700 +++ autotest/scheduler/monitor_db.py 2010-06-08 13:42:46.000000000 -0700 @@ -1758,18 +1758,19 @@ def _check_queue_entry_statuses(self, queue_entries, allowed_hqe_statuses, allowed_host_statuses=None): + class_name = self.__class__.__name__ for entry in queue_entries: if entry.status not in allowed_hqe_statuses: - raise SchedulerError('Queue task attempting to start ' + raise SchedulerError('%s attempting to start ' 'entry with invalid status %s: %s' - % (entry.status, entry)) + % (class_name, entry.status, entry)) invalid_host_status = ( allowed_host_statuses is not None and entry.host.status not in allowed_host_statuses) if invalid_host_status: - raise SchedulerError('Queue task attempting to start on queue ' + raise SchedulerError('%s attempting to start on queue ' 'entry with invalid host status %s: %s' - % (entry.host.status, entry)) + % (class_name, entry.host.status, entry)) class TaskWithJobKeyvals(object): @@ -2258,6 +2259,7 @@ for queue_entry in self.queue_entries: queue_entry.set_status(models.HostQueueEntry.Status.GATHERING) + queue_entry.host.set_status(models.Host.Status.RUNNING) class HostlessQueueTask(AbstractQueueTask): --- autotest/scheduler/monitor_db_functional_test.py 2010-06-04 17:02:35.000000000 -0700 +++ autotest/scheduler/monitor_db_functional_test.py 2010-06-08 13:42:46.000000000 -0700 @@ -976,6 +976,13 @@ job.hostqueueentry_set.update(aborted=True) self._run_dispatcher() + self._check_statuses(queue_entry, HqeStatus.GATHERING, + HostStatus.RUNNING) + + self.mock_drone_manager.process_capacity = 5 + self._run_dispatcher() + self._check_statuses(queue_entry, HqeStatus.ABORTED, + HostStatus.CLEANING) def test_simple_atomic_group_job(self): _______________________________________________ Autotest mailing list [email protected] http://test.kernel.org/cgi-bin/mailman/listinfo/autotest
