Index: server/site_server_job.py |
diff --git a/server/site_server_job.py b/server/site_server_job.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d96c288858d33934649e25fde71634b2f8821652 |
--- /dev/null |
+++ b/server/site_server_job.py |
@@ -0,0 +1,41 @@ |
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+import os |
+import common |
+import utils |
+ |
+ |
+def get_site_job_data(job): |
+ """Add custom data to the job keyval info. |
+ |
+ When multiple machines are used in a job, change the hostname to |
+ the platform of the first machine instead of machine1,machine2,... This |
+ makes the job reports easier to read and keeps the tko_machines table from |
+ growing too large. |
+ |
+ Args: |
+ job: instance of server_job. |
+ |
+ Returns: |
+ keyval dictionary with new hostname value, or empty dictionary. |
+ """ |
+ site_job_data = {} |
+ # Only modify hostname on multimachine jobs. Assume all host have the same |
+ # platform. |
+ if len(job.machines) > 1: |
+ # Search through machines for first machine with a platform. |
+ for host in job.machines: |
+ keyval_path = os.path.join(job.resultdir, 'host_keyvals', host) |
+ keyvals = utils.read_keyval(keyval_path) |
+ host_plat = keyvals.get('platform', None) |
+ if not host_plat: |
+ continue |
+ site_job_data['hostname'] = host_plat |
+ break |
+ return site_job_data |
+ |
+ |
+class site_server_job(object): |
+ pass |