Make sysinfo more configurable. This adds some methods to the job
classes, job.add_sysinfo_command and job.add_sysinfo_logfile, that
can be used to add more commands and/or logfiles to the standard
sysinfo collection for the job.
Risk: High
Visiblity: You can add code to control files to customize sysinfo
collection.
Signed-off-by: John Admanski <[email protected]>
git-svn-id: http://test.kernel.org/svn/autotest/trunk@2289 592f7852-d20e-0410-864c-8624ca9c26a4
diff --git a/server/server_job.py b/server/server_job.py
index df773b8..6ddc7c7 100755
--- a/server/server_job.py
+++ b/server/server_job.py
@@ -7,7 +7,7 @@
"""
import getpass, os, sys, re, stat, tempfile, time, select, subprocess, traceback
-from autotest_lib.client.bin import fd_stack
+from autotest_lib.client.bin import fd_stack, sysinfo
from autotest_lib.client.common_lib import error, log, utils, packages
from autotest_lib.server import test, subcommand
from autotest_lib.tko import db as tko_db, status_lib, utils as tko_utils
@@ -204,6 +204,8 @@
self.stdout = fd_stack.fd_stack(1, sys.stdout)
self.stderr = fd_stack.fd_stack(2, sys.stderr)
+ self.sysinfo = sysinfo.sysinfo(self.resultdir)
+
if not os.access(self.tmpdir, os.W_OK):
try:
os.makedirs(self.tmpdir, 0700)
@@ -550,6 +552,22 @@
optional_fields={"kernel": kernel})
+ def add_sysinfo_command(self, command, logfile=None, on_every_test=False):
+ self._add_sysinfo_loggable(sysinfo.command(command, logfile),
+ on_every_test)
+
+
+ def add_sysinfo_logfile(self, file, on_every_test=False):
+ self._add_sysinfo_loggable(sysinfo.logfile(file), on_every_test)
+
+
+ def _add_sysinfo_loggable(self, loggable, on_every_test):
+ if on_every_test:
+ self.sysinfo.test_loggables.add(loggable)
+ else:
+ self.sysinfo.boot_loggables.add(loggable)
+
+
def record(self, status_code, subdir, operation, status='',
optional_fields=None):
"""