OLD | NEW |
1 """ | 1 """ |
2 The main job wrapper for the server side. | 2 The main job wrapper for the server side. |
3 | 3 |
4 This is the core infrastructure. Derived from the client side job.py | 4 This is the core infrastructure. Derived from the client side job.py |
5 | 5 |
6 Copyright Martin J. Bligh, Andy Whitcroft 2007 | 6 Copyright Martin J. Bligh, Andy Whitcroft 2007 |
7 """ | 7 """ |
8 | 8 |
9 import getpass, os, sys, re, stat, tempfile, time, select, subprocess | 9 import getpass, os, sys, re, stat, tempfile, time, select, subprocess, platform |
10 import traceback, shutil, warnings, fcntl, pickle, logging, itertools, errno | 10 import traceback, shutil, warnings, fcntl, pickle, logging, itertools, errno |
11 from autotest_lib.client.bin import sysinfo | 11 from autotest_lib.client.bin import sysinfo |
12 from autotest_lib.client.common_lib import base_job | 12 from autotest_lib.client.common_lib import base_job |
13 from autotest_lib.client.common_lib import error, log, utils, packages | 13 from autotest_lib.client.common_lib import error, log, utils, packages |
14 from autotest_lib.client.common_lib import logging_manager | 14 from autotest_lib.client.common_lib import logging_manager |
15 from autotest_lib.server import test, subcommand, profilers | 15 from autotest_lib.server import test, subcommand, profilers |
16 from autotest_lib.server.hosts import abstract_ssh | 16 from autotest_lib.server.hosts import abstract_ssh |
17 from autotest_lib.tko import db as tko_db, status_lib, utils as tko_utils | 17 from autotest_lib.tko import db as tko_db, status_lib, utils as tko_utils |
18 | 18 |
19 | 19 |
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
197 | 197 |
198 self.logging = logging_manager.get_logging_manager( | 198 self.logging = logging_manager.get_logging_manager( |
199 manage_stdout_and_stderr=True, redirect_fds=True) | 199 manage_stdout_and_stderr=True, redirect_fds=True) |
200 subcommand.logging_manager_object = self.logging | 200 subcommand.logging_manager_object = self.logging |
201 | 201 |
202 self.sysinfo = sysinfo.sysinfo(self.resultdir) | 202 self.sysinfo = sysinfo.sysinfo(self.resultdir) |
203 self.profilers = profilers.profilers(self) | 203 self.profilers = profilers.profilers(self) |
204 | 204 |
205 job_data = {'label' : label, 'user' : user, | 205 job_data = {'label' : label, 'user' : user, |
206 'hostname' : ','.join(machines), | 206 'hostname' : ','.join(machines), |
| 207 'drone' : platform.node(), |
207 'status_version' : str(self._STATUS_VERSION), | 208 'status_version' : str(self._STATUS_VERSION), |
208 'job_started' : str(int(time.time()))} | 209 'job_started' : str(int(time.time()))} |
209 if group_name: | 210 if group_name: |
210 job_data['host_group_name'] = group_name | 211 job_data['host_group_name'] = group_name |
211 | 212 |
212 # only write these keyvals out on the first job in a resultdir | 213 # only write these keyvals out on the first job in a resultdir |
213 if 'job_started' not in utils.read_keyval(self.resultdir): | 214 if 'job_started' not in utils.read_keyval(self.resultdir): |
214 job_data.update(get_site_job_data(self)) | 215 job_data.update(get_site_job_data(self)) |
215 utils.write_keyval(self.resultdir, job_data) | 216 utils.write_keyval(self.resultdir, job_data) |
216 | 217 |
(...skipping 922 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1139 intervals = self.disabled_warnings.setdefault(warning_type, []) | 1140 intervals = self.disabled_warnings.setdefault(warning_type, []) |
1140 if not intervals or intervals[-1][1] is not None: | 1141 if not intervals or intervals[-1][1] is not None: |
1141 intervals.append((int(current_time_func()), None)) | 1142 intervals.append((int(current_time_func()), None)) |
1142 | 1143 |
1143 | 1144 |
1144 def enable_warnings(self, warning_type, current_time_func=time.time): | 1145 def enable_warnings(self, warning_type, current_time_func=time.time): |
1145 """As of now, enables all further warnings of this type.""" | 1146 """As of now, enables all further warnings of this type.""" |
1146 intervals = self.disabled_warnings.get(warning_type, []) | 1147 intervals = self.disabled_warnings.get(warning_type, []) |
1147 if intervals and intervals[-1][1] is None: | 1148 if intervals and intervals[-1][1] is None: |
1148 intervals[-1] = (intervals[-1][0], int(current_time_func())) | 1149 intervals[-1] = (intervals[-1][0], int(current_time_func())) |
OLD | NEW |