-instead of that stupid job_status RPC, just provide get_host_queue_entries directly.
-improve reporting of metahost entries in web frontend
-fix bugs in models code which didn't surface until I started querying host queue entries
-fix bug with job detail page refreshing
git-svn-id: http://test.kernel.org/svn/autotest/trunk@1464 592f7852-d20e-0410-864c-8624ca9c26a4
diff --git a/frontend/afe/rpc_interface.py b/frontend/afe/rpc_interface.py
index 1e74db8..a053929 100644
--- a/frontend/afe/rpc_interface.py
+++ b/frontend/afe/rpc_interface.py
@@ -308,40 +308,6 @@
return models.Job.query_count(filter_data)
-def job_status(job_id, **filter_data):
- """\
- Get status of job with the given id number. Returns a dictionary
- mapping hostnames to dictionaries with two keys each:
- * 'status' : the job status for that host
- * 'meta_count' : For meta host entires, gives a count of how many
- entries there are for this label (the hostname is
- then a label name). For real host entries,
- meta_count is None.
- """
- filter_data['job'] = job_id
- job_entries = models.HostQueueEntry.query_objects(filter_data)
- hosts_status = {}
- for queue_entry in job_entries:
- is_meta = queue_entry.is_meta_host_entry()
- if is_meta:
- name = queue_entry.meta_host.name
- hosts_status.setdefault(name, {'meta_count': 0})
- hosts_status[name]['meta_count'] += 1
- else:
- name = queue_entry.host.hostname
- hosts_status[name] = {'meta_count': None}
- hosts_status[name]['status'] = queue_entry.status
- return hosts_status
-
-
-def job_num_entries(job_id, **filter_data):
- """\
- Get the number of host queue entries associated with this job.
- """
- filter_data['job'] = job_id
- return models.HostQueueEntry.query_count(filter_data)
-
-
def get_jobs_summary(**filter_data):
"""\
Like get_jobs(), but adds a 'stauts_counts' field, which is a dictionary
@@ -356,6 +322,24 @@
return rpc_utils.prepare_for_serialization(jobs)
+# host queue entries
+
+def get_host_queue_entries(**filter_data):
+ """\
+ TODO
+ """
+ return rpc_utils.prepare_for_serialization(
+ models.HostQueueEntry.list_objects(filter_data))
+
+
+def get_num_host_queue_entries(**filter_data):
+ """\
+ Get the number of host queue entries associated with this job.
+ """
+ return models.HostQueueEntry.query_count(filter_data)
+
+
+
# other
def get_static_data():