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

Reply via email to