backend support for hostless jobs * support in rpc_interface.create_job() and models for creating a hostless job -- a job with one queue entry with no host, meta_host or atomic_group * support in scheduler for recognizing and executing such a job. the bulk of the work was in extracting an AbstractQueueTask class from QueueTask, containing all the logic not pertaining to hosts. I then added a simple HostlessQueueTask class also inheriting from it. Also got rid of HostQueueEntry.get_host() and added an extra log line when AgentTasks finish (used to be for QueueTasks only). Signed-off-by: Steve Howard <[email protected]> git-svn-id: http://test.kernel.org/svn/autotest/trunk@4018 592f7852-d20e-0410-864c-8624ca9c26a4
diff --git a/frontend/afe/rpc_interface_unittest.py b/frontend/afe/rpc_interface_unittest.py index 9c284b6..3ef345c 100755 --- a/frontend/afe/rpc_interface_unittest.py +++ b/frontend/afe/rpc_interface_unittest.py
@@ -168,6 +168,16 @@ hosts=[1, 1]) + def test_create_hostless_job(self): + job_id = self._create_job_helper(hostless=True) + job = models.Job.objects.get(pk=job_id) + queue_entries = job.hostqueueentry_set.all() + self.assertEquals(len(queue_entries), 1) + self.assertEquals(queue_entries[0].host, None) + self.assertEquals(queue_entries[0].meta_host, None) + self.assertEquals(queue_entries[0].atomic_group, None) + + def _setup_special_tasks(self): host = self.hosts[0]