Attached is a very large patch that adds support for running a
distributed Autotest service. Previously, the scheduler could only
execute autoservs locally and all results were written directly to the
local filesystem. This placed a limit on the number of machines that
could be concurrently tested by a single Autotest service instance due
to the strain of running many autoserv processes on a single machine.
With this change, the scheduler can spread autoserv processes among a
number of machines and gather all results to a single results
repository machine. This allows vastly improved scalability for a
single Autotest service instance. See
http://autotest.kernel.org/wiki/DistributedServerSetup for more
details.
Note that the single-server setup is still supported and the global
configuration defaults to this setup, so existing service instances
should continue to run.
Steve
Signed-off-by: Steve Howard <[email protected]>
git-svn-id: http://test.kernel.org/svn/autotest/trunk@2596 592f7852-d20e-0410-864c-8624ca9c26a4
diff --git a/server/hosts/abstract_ssh.py b/server/hosts/abstract_ssh.py
index 9a5b38f..c6707d1 100644
--- a/server/hosts/abstract_ssh.py
+++ b/server/hosts/abstract_ssh.py
@@ -1,5 +1,5 @@
import os, sys, time, types, socket, traceback, shutil
-from autotest_lib.client.common_lib import error
+from autotest_lib.client.common_lib import error, debug
from autotest_lib.server import utils, autotest
from autotest_lib.server.hosts import site_host
@@ -41,7 +41,8 @@
format (%s@%s:%s).
"""
- print '_copy_files: copying %s to %s' % (sources, dest)
+ debug.get_logger().debug('_copy_files: copying %s to %s' %
+ (sources, dest))
try:
ssh = make_ssh_command(self.user, self.port)
if delete_dest:
@@ -289,3 +290,12 @@
self.machine_install()
except NotImplementedError, e:
sys.stderr.write(str(e) + "\n\n")
+
+
+class LoggerFile(object):
+ def write(self, data):
+ debug.get_logger().debug(data)
+
+
+ def flush(self):
+ pass