History log of /external/autotest/server/hosts/remote.py
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
ad47290ca18d60ec0145374e28bfa4bdf94a747d 12-Jan-2016 Andrey Ulanov <andreyu@google.com> RemoteHost: when copying /var/log/messages allow it to be missing

/var/log/messages is not present when systemd is used. This change
eliminates error messages caused by that.

TEST="test_that suite:smoke" does not complain about missing /var/log/messages
BUG=b:24941216

Change-Id: I4bb48fe141e859c627533e6a8da45e03498ec78c
Reviewed-on: https://chromium-review.googlesource.com/321472
Commit-Ready: Andrey Ulanov <andreyu@google.com>
Tested-by: Andrey Ulanov <andreyu@google.com>
Reviewed-by: Richard Barnette <jrbarnette@chromium.org>
/external/autotest/server/hosts/remote.py
3a4a57a7704ab15136286628f465dbb2d1a56171 30-Sep-2015 Kevin Cheng <kevcheng@chromium.org> [autotest] Add serial flag for adb_host support in cli/atest.

User should be able to specify serials to pass to adb_host and
the board label will be autodetected and the serial will be
added as a host attribute. Currently only works only for 1
serial, a later cl will enable multiple serials.

Also refactored the label decorator logic into site_utils
and remote.RemoteHost.

BUG=chromium:535352
TEST=manually added hosts using the serial flag using cli/atest
and checking the host was correctly detected on a moblab.

Change-Id: I4c95377eaee4529ea99add4387be6dcf56a529fb
Reviewed-on: https://chromium-review.googlesource.com/303214
Commit-Ready: Kevin Cheng <kevcheng@chromium.org>
Tested-by: Kevin Cheng <kevcheng@chromium.org>
Reviewed-by: Kevin Cheng <kevcheng@chromium.org>
/external/autotest/server/hosts/remote.py
9af1963458b7ba2cb59c401e055aecb0b29bfbbc 25-Sep-2015 J. Richard Barnette <jrbarnette@chromium.org> [autotest] Add SSHHost.run_background()

A common idiom for certain commands is to say "start this command in
the background, but don't wait for completion". This occurs most
commonly with commands such as reboot that will cause a temporary
loss of network connectivity. Because of certain obscure sshd
behaviors, the idiom is more complicated than a mere '&' in the
command.

This change adds SSHHost.run_background() to provide a method to
implement the idiom correctly, consistently, and understandably.
This also changes all instances of the idiom to use the method.

BUG=None
TEST=test_that platform_BootPerfServer

Change-Id: I0edaf36dc10ac67541aa55cf8cc4c6542878fb79
Reviewed-on: https://chromium-review.googlesource.com/302417
Commit-Ready: Richard Barnette <jrbarnette@chromium.org>
Tested-by: Richard Barnette <jrbarnette@chromium.org>
Reviewed-by: Richard Barnette <jrbarnette@chromium.org>
/external/autotest/server/hosts/remote.py
7a61d2f7b1c221ddd30b60e9b8d90d3052fc60e4 23-May-2014 Gwendal Grignou <gwendal@chromium.org> Add suspend method.

Add method to be able to suspend machines from server side
without calling a client test: this way, we can suspend for hours.

Remove dummy_Suspend.

TEST=Run hardware_StorageStress/control.suspend
Run hardware_StorageStress/control.quick
Run kernel_MemoryRamoop/control

BUG=chromium:376881

Change-Id: Ic7e6624485e4473a90d575ed53ea89bb164724e0
Reviewed-on: https://chromium-review.googlesource.com/201385
Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
Commit-Queue: Gwendal Grignou <gwendal@chromium.org>
Tested-by: Gwendal Grignou <gwendal@chromium.org>
/external/autotest/server/hosts/remote.py
df29d645010814882120943d4f2b2471b993babe 25-Apr-2014 Puthikorn Voravootivat <puthik@chromium.org> kernel_MemoryRamoop: Fix test for machine without lkdtm

Check DUT to make sure that it have lkdtm before trying to invoke it.
Also tweak message detection in the case that we have 2 message logged
in the same line of /dev/pstore/console-ramoop

BUG=chromium:367248
TEST=Tested on peach_pit/parrot. Run as expected.

Change-Id: I8300f89c2ca857986eca9558e2de2074a21aab5c
Reviewed-on: https://chromium-review.googlesource.com/197009
Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
Commit-Queue: Puthikorn Voravootivat <puthik@chromium.org>
Tested-by: Puthikorn Voravootivat <puthik@chromium.org>
/external/autotest/server/hosts/remote.py
0ca40e28b664c76d62909b1a344738dfb6f7e936 28-Aug-2013 Fang Deng <fdeng@chromium.org> [autotest] Rename site_host.SiteHost to cros_host.CrosHost

Rename site_host.SiteHost to cros_host.CrosHost.
cros_host.CrosHost is the new chromeos specific host class.
The concept 'SiteHost' is deprecated as we are dealing with
multiple types of hosts (e.g. ServoHost).
The concept of a single'SiteHost' doesn't meet our needs any more.

All references are updated.

SerialHost is now subclassing RemoteHost and mixes in CrosHost
in hosts.factory.create_host().

BUG=chromium:273833
TEST=Trybot build passes; Repair/Verify pass;
Dummy suite passes;
Server side test platform_InstallTestImage
which is affected by this CL passes.
DEPLOY=scheduler

Change-Id: I5e59194996c67c6b5d7fdcaf40d594ea08de1af5
Reviewed-on: https://chromium-review.googlesource.com/167182
Tested-by: Fang Deng <fdeng@chromium.org>
Reviewed-by: Simran Basi <sbasi@chromium.org>
Commit-Queue: Fang Deng <fdeng@chromium.org>
/external/autotest/server/hosts/remote.py
861b2d54aec24228cdb3895dbc40062cb40cb2ad 04-Feb-2011 Eric Li <ericli@chromium.org> Merge remote branch 'cros/upstream' into master

Merged to upstream autotest @4749~@5215.

The entire change list description is too big to enlist here. Please refer to upstream (http://autotest.kernel.org/browser) for more details.

BUG=
TEST=emerged both x86 and arm build.
Tested emerged x86 build bvt against a chromeos device.

Review URL: http://codereview.chromium.org/6246035

Change-Id: I8455f2135c87c321c6efc232e2869dc8f675395e
/external/autotest/server/hosts/remote.py
bdaab795cffa33f9a37995bb283047cb03699272 07-Jan-2011 Kenneth Waters <kwaters@chromium.org> Revert "Merge remote branch 'cros/upstream' into autotest-rebase"

This reverts commit 7edb30498d75a29a3287fe07070f2b51a116c5d4.

TEST=Built for tegra2_seaboard
BUG=10756

Review URL: http://codereview.chromium.org/6124004

Change-Id: Ifcd1a2279f5a62b99552a8f961c1430889a3a928
/external/autotest/server/hosts/remote.py
7edb30498d75a29a3287fe07070f2b51a116c5d4 07-Jan-2011 Eric Li <ericli@chromium.org> Merge remote branch 'cros/upstream' into autotest-rebase

Merged to upstream trunk@5066, from trunk@4749.

There is no way I could enlist each individual CL from the upstream here since it will blow up the changelist description field.

BUG=
TEST=
Had patched this CL into a fresh cut client to avoid any side effect.
run_remote_test bvt from both emerged location and third_party/autotest/file.

Both test passed!

We should also keep any eye on this to see how it gets propagated into cautotest server.
TBR=dalecurtis

Change-Id: I72f2bc7a9de530178484aea1bfb5ace68bcad029
/external/autotest/server/hosts/remote.py
6f27d4f22a1ba5063968b8c322fa0845f3279ade 29-Sep-2010 Eric Li <ericli@chromium.org> Merge remote branch 'cros/upstream' into tempbranch3

Merge to trunk@4817

BUG=
TEST=

Review URL: http://codereview.chromium.org/3554003

Change-Id: I83376bc7d28104ec2678e157eadbe7df7c05c0e0
/external/autotest/server/hosts/remote.py
517d95a1ef4edb04da427763f86068a447d45ec7 29-Sep-2010 Benson Leung <bleung@chromium.org> Revert "Merge remote branch 'cros/upstream' into tempbranch2"

This reverts commit 25fc6d1f28e54c46689f12d3b93c2540ef45323a.

TBR=ericli@chromium.org

Review URL: http://codereview.chromium.org/3541002

Change-Id: Ib0165b19bfdf02264f8a6a74ddf3ae74c8c0f7df
/external/autotest/server/hosts/remote.py
25fc6d1f28e54c46689f12d3b93c2540ef45323a 29-Sep-2010 Eric Li <ericli@chromium.org> Merge remote branch 'cros/upstream' into tempbranch2

Merged to trunk@4816.

BUG=
TEST=we will build a new autotest server instance, and keep cautotest running and then later do a cname switch.

Review URL: http://codereview.chromium.org/3511003

Change-Id: Iee5f52f45f28f84927d6c6f9a74edc370d40288a
/external/autotest/server/hosts/remote.py
6b95b521301da289493dca718e45719387278eeb 19-Feb-2010 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> I wanted some jobs to select the server side component based on a platform label, so this patch will add a function that returns the platform_label of the specified hostname.

From: kdlucas@google.com



git-svn-id: http://test.kernel.org/svn/autotest/trunk@4256 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
c035491ba24efea9e4343982f0a7c4b92e0a8c72 12-Jan-2010 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Adds support to wait_down and wait_for_restart to watch for changed
boot_id values (using /proc/sys/kernel/random/boot_id). This avoids a
race condition where if a machine was able to successfully shutdown
and boot up again after you started a reboot and before we started
polling for the shutdown, it would just appear that the machine
failed to shutdown when told.

As a result the Host.wait_down method now treats the case where a
machine is NOT down but has a new boot_id as being "down", because
this implies that the machine did shut down (and subsequently came
back up). This does mean that you cannot assume that a successful
wait_down implies that the machine is now down, but that was never
true anyway.

Risk: High
Visibility: We can now reliably detect the restart of machines with
very fast restart times.

Signed-off-by: John Admanski <jadmanski@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4096 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
c2ebea01c0f3ecf4847eb13f3228118f36be124a 02-Oct-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Merged the contents of client.bin.boottool and server.hosts.Bootloader
into a common_lib.boottool API. Added unittest for it. Updated users.

Visibility: this changes the client and server job.bootloader API
slightly and while I've tried to make sure that all users of the old
API are updated to the new one it's possible that there is code ouside
the Autotest source tree that may rely on the old API.

Signed-off-by: Mihai Rusu <dizzy@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3785 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
a43f6d27fec9ab54bbf705c98265bd4a22b1a5c2 25-Aug-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Inside the remote host class, there's a method, check_uptime, that makes
reference to the ping() method. This method has some problems on its
implementation:

* It calls an external program, fping, which is not installed by
default on some distros (a similar call to ping would do a similar job
and with more confidence that we would have this installed)
* It assumes that it is installed under a particular path, which is not
the path where it is installed for some distros

Apparently the purpose of choosing a ping was to do a quick 'host is
up?' assessment, which could be done using the more generic method
is_up(), defined on the base host class, that would translate
accordingly depending on the implementation of remote host used. So I
believe it's preferable to use it.

Therefore, this patch gets rid of ping() altogether (I checked and we
don't seem to use it anywhere else) and replaces it by is_up().

Oh, yes - this was found while working on 0.11.0 and it is applicable
verbatim to trunk as well.

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3611 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
4900b3b5a2b3a8101002a6e3bd60a49ae60aae7b 03-Jul-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Adjust the /var/log/messages collection while collecting crashinfo
to only collect the contents of the messages file written after the
start of the job.

Because this needs to work even if the crashinfo is being run
completely after the fact it isn't sufficient for a job to just check
how large /var/log/messages and remember this until the end of the
job, it needs to leave behind some sort of persistent artifact with
the information. It does this by copying /var/log/messages to
/var/log/messages.at_start at the begninning of a job. The crashinfo
then looks at this file to determine what parts of /var/log/messages
is new, saves that, and discards the rest.

Risk: Low
Visibility: Reduces the amount of old logs collected from
/var/log/messages after a crash.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@3363 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
edf33e01a5ec1f8c64891ebceb64db8a4da11d4c 22-May-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Add a slightly friendlier repr for remote hosts. Since these objects
are often passed in as parameters to tests the repr will often
show up in test keyvals (where we log all params).

Risk: Low
Visibility: Eliminates the (generally unhelpful) default repr for
host objects.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@3168 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
96b7807a2887dc07ec1591a1693a9a7b99a104bb 22-May-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Change the server-side profilers to use their own host objects, instead
of trying to re-use existing ones. Using existing ones was making them
unreliable since we avoided using Host objects with "normal" autotest
installs associated with them to avoid conflicts, so sometimes your
hosts would get used, sometimes not, and it's non-obvious from a user
point of view. So instead we change the profilers to look and what
hostnames are in use and then create their own Host objects.

However, this led to another problem, namely that the host classes
themselves have a dependency on the profiler module and so now we have
a circular dependency. To get around this I extracted the crashinfo
and crashdump collection into a separate module, server.crashcollect.

Risk: High
Visibility: Make server-side profilers run much more reliably.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@3165 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
feac010c5bce042c7f6b887288d1a9d2f75f25dd 28-Apr-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Added support to AbstractSSHHost.get_file() to not try to preserve the
orginal file permissions. Used this from crashinfo copying code to not
copy /var/log/messasges with 0600 privileges and such (which is common
on Linux distributions) and then not be able to read it in the frontend.
Also changed the way we copy the client control file wrapper to not
preserve the original permissions of the file.

Signed-off-by: Mihai Rusu <dizzy@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3048 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
959ed87c72ccb686f564670e4adf6cd03f71491a 18-Apr-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> host.reboot() will now take an optional reboot command. The reboot
test in soft reboot mode will explicitly pass in 'reboot' as the cmd
that is used to reboot a machine.

Signed-off-by: Fa Yoeu <fayoeu@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3013 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
210bae6eaa0330b38370712810f12bb36c00f438 01-Apr-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Summary: Fixing further breakage found using the -N flag of autoserv

Found more places of the code that were breaking autoserv due to the -N
flag. Try to fix the breakages.

Signed-off-by: Lucas Meneghel Rodrigues <lucasmr@br.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2956 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
ea45566e16b5021dea5f74af54e7e635af79fb5e 25-Mar-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Add support for explicitly removing tempdirs created on a host,
and modify the server-side sysinfo to use this to clean up the
sysinfo directory immediately.

Risk: Low
Visibility: We should leave less trash lying around during tests.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2936 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
def0c3cccb3b77b2c7e3a90f427cf4a70292dfd9 25-Mar-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Add support for running autoserv with a "--collect-crashinfo" flag
that tells autotest to run a job that includes ONLY the crashinfo
collection. This will pull back crashinfo, and if run against a
results directory from a crashed job it will also pull back any
client results that it can find on the remote host.

Risk: Low
Visibility: Adds a new mode to autoserv for just doing crashinfo
collection.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2933 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
2b9497726093dc944b6e16c834d17f95fb438d17 26-Feb-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add an option to not wait for sync before rebooting.

Signed-off-by: Josh Gilkerson <jwg@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2834 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
c5fbf762784eedb67e0a122902bf4a0e9add0702 26-Feb-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Revert previous patch



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2833 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
b447d54a10ca48c840bfa9b559dd0a7692aa4d4d 26-Feb-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add an option to not wait for sync before rebooting.

Signed-off-by: Josh Gilkerson <jwg@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2832 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
da0aeffa8533d009d398f4317c09b6e4d200bfca 18-Feb-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Add in more crashinfo collection code so that that when a machine
fails for some reason or another during a test which is using
profilers we still have some chance of pulling back the profiler data.

Since the crash will prevent the profiler's stop and report methods
from being called correctly the data pulled back may or may not be
useful, however for some profilers partial data will still be helpful,
and so it seems useful to pull back whatever data we can find.

Risk: Low
Visibility: Adds some more data to the crashinfo.* directories created
when machine crash unexpectedly during testing.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2815 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
a2c940d148334493582de121556f6e6d2e1d40de 30-Jan-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> This generates confusing backtraces for a lot of users
and causing them to trace this instead of the real error.
Make the warning less intimidating.

Signed-off-by: Martin Bligh <mbligh@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2721 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
d544a35a0377414f4413227284ff9d642f02cf44 15-Jan-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> When performing a reboot, do a sync before starting the shutdown.
A really long sync can cause what should otherwise be a fairly
short operation to take a long time. Raising the timeout on the
wait_down command could potentially mask other real issues, so
instead lets just do an explicit sync as a seperate operation.

Risk: Low
Visibility: Having a ton of data to be sync'd shouldn't lead to
wait_down timeout on a reboot.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2654 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
0e1881e0c714b7ac7423318d30bffff2db90f7d3 15-Jan-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> server.hosts.remote: When reboot is called, really reboot.

Tested by running several jobs that required reboots both on machines
that would reboot normally and ones that would require more forceful
handling.

Visibility: medium; any job that reboots machines will use this, but
is should be transparent.
Risk: low; the "normal" path will work as before the only effects will
be for machines that are too messed up to reboot normally.

Signed-off-by: Josh Gilkerson <jwg@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2653 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
78a013aa7ce6668ab24bfd715c506646cd644864 13-Jan-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Silenced collecting dmesg output to just be saved in the dedicated file
instead of also having it on stdout.

Signed-off-by: Mihai Rusu <dizzy@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2634 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
d778ae4e6ab7aa3eaf010eb2cbf5ea838ee6ab37 07-Jan-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Move the reboot_followup out of reboot and into wait_for_restart. This works
more consistently since wait_for_restart gets called even by most code that
manages its own reboot instead of using host.reboot. This is important for some
services that get restarted after reboots, such as profilers.

Risk: Low
Visibility: Host.reboot_followup is called following reboots handled by
Host.wait_for_restart, not just Host.reboot.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2597 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
4f909251625246dbeb36c1c8b26892cbd4e6c934 01-Dec-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Extend the server-side profiler code to handle reboots as well. Sadly,
this is a bit of a kludge, but I can't see any better solution without
redesigning the client-side profiler interface first.

I handle a reboot by pulling back any existing profiler data right
after a reboot and then re-starting the profiler. This generally works
because most of the profilers are idempotent; either they write into
different files in each run, or they just continuously append logs
to a log file of some kind and so concatenating all their output
is good enough.

In general there's unfortunately no reliable way to signal the
profilers before a reboot occurs, we can only deal with it after the
fact, so we don't have the option of adding some sort of
save-and-restore methods to the client-side interface that could be
used to deal with this.

Right now we simply don't have any real use cases anyway where we want
to run a profiler on top of a reboot test where the profiler requires
special handling after a reboot. Until we actually have an example of
that to work with, trying to implement support for that situation
may just be overdesigning things anyway.

Risk: Medium
Visibility: Server-side profilers will be restarted after a reboot
during a test.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2526 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
9f7dd11823a7bfd1854e72f3ba2134a18f7eb6e6 17-Nov-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Move the temporary sysinfo files from /tmp to /tmp/sysinfo. This makes the actual location more configurable (e.g. you can add a symlink to redirect it).

Risk: Medium
Visibility: server-side sysinfo collection happens in /tmp/sysinfo

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2428 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
53aaf388e48368aa0179622957912a5284b43dd1 17-Nov-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Add a hosts attribute to server jobs for accessing all the hosts in
use as part of a server job, and replace the __del__ method on hosts
with an explicit close. When the job finishes it will take care to
close out any hosts left in job.hosts.

This will allow us to implement generic code that operates on all
hosts currently in use, and also fixes the general reliabilty issues
that we've seen with the __del__ method.

Risk: Medium
Visibility: Host.__del__ calls are pushed off until the end of the
job, and all hosts in use are available via job.hosts.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2427 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
e48bcfb879c943df72a866e3db8b2df8e930b2c1 11-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Refactor of dmesg to more general monitoring of any log file.

Signed-off-by: Cary Hull <chull@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2395 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
1264b5109a9ff4563efec9981355f76ef287d9f3 05-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Move the actual content of the cleanup code into Host.cleanup methods.
This is basically in line with what we do for other operations like
verify and repair.

Risk: Low
Visibility: Moves stuff around.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2381 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
d60321a8b012aa6101bcb237341fab5bd2d25a04 28-Oct-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Add a job_start method to RemoteHost that gets called once per job for
each host, allowing us to add some sort of per-job initialization for each
machine.

Risk: Low
Visibility: Adds a new method, doesn't do anything by default.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2348 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
f656291cb000a62783f9deaf17cd31e4cb7b9b68 21-Oct-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Furthur refactoring of the paramiko and ssh host classes. This covers a few
different fixes:
- it pulls the verify & repair code out of SSHHost and into AbstractSSHHost
- it moves all the __init__ code into _initialize methods; there's certain pieces of code (like self.start_loggers()) that always needs to run after all the other initialization, so it's easier to enforce this kind of ordering if we put the core initialization in a separate method and then just have one __init__ method in Host that enforces the ordering
- fixes up ParamikoHost to properly handle forking, since after a fork() one of the processes needs to switch to a new Transport object (both processes can't use the same connection)

Risk: High
Visibility: ParamikoHost now supports fork() properly, provides the same verify & repair as SSHHost, and most of the host __init__ code has migrated into _initialize methods

Signed-off-by: John Admanski <jadmanski@google.com>




git-svn-id: http://test.kernel.org/svn/autotest/trunk@2318 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
ca7da37fd4346d8944ca2e94c5b629d00c0cd102 21-Oct-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Adds a new host object, ParamikoHost, basically as another
implementation of SSHHost but one that uses an in-process SSH
library (in this case paramiko) instead of spawning ssh processes.

In order to reuse SSHHost code where I could, I pulled
pretty much all of the code that wasn't Host.run into a generic
AbstractSSHHost class; this is where the send_file and get_file
methods are implemented, as well as the wait_* methods. So now
both SSHHost and ParamikoHost are subclasses of AbstractSSHHost.

Currently, this new ParamikoHost class isn't hooked into anything,
so unless you explicitly use it you don't need to hava paramiko
installed.

Risk: Medium
Visibility: File copying and wait_* methods were moved out of SSHHost,
and you now have ParamikoHost available.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2314 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
f2c3376ffefb7702256b9347293c391482eb5a9c 18-Oct-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Pull a ton of methods out of SSHHost and into RemoteHost, since most
of them have nothing to do with SSH and it will make it a lot easier
for me to implement a new host object.

Risk: Medium
Visibility: Should be code changes only.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2307 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
a2db941dbf9c3bc80c90139f9c0da7f916f817f7 22-Aug-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Final big refactoring of serial console code, to completely detach it
from SSHHost. Moves a bunch of abstract methods up into the base
Host class since they aren't SSHHost specific. Separates SSHHost and
SerialHost so that they don't inherit from one another.

Adds support for proactively checking if a host supports serial
access, and uses that in the create_host factory to mix in SerialHost
with the SSHHost so long as the machine supports serial access.

This should make it fairly easy to add in alternative net console or
dmesg support, as fallback mixins if the serial console is not
available.

Risk: Medium
Visibility: Code using hosts.create_host to build up host objects
should still get back something that provides the same basic features
as before. Code that explicitly creates an SSHHost will now no longer
get any serial console support.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2032 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
1c5e3a1ede43cf3b71a02411489972a36ff0f5f1 16-Aug-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Initial refactoring so that I can change the serial console
monitoring. For now, I just pulled all of the console stuff out
into a separate SerialHost class so that it's isolated from the
SSHHost code.

This also adds a create_host factory method into hosts/__init__.py
I'm going to mail another patch later that converts existing code
over to use hosts.create_host(hostname) to get a host object, rather
than using hosts.SSHHost(hostname).

Right now the current structure is rather painful; for example I had
to make SerialHost a parent of SSHHost so that I could make the changes
without breaking existing code. Adding new features will have the same
problem; you have to cram them into SSHHost, or else no existing code
will use them. In the future if we use this factory method it'll be a
lot easier to add new features and expose them to existing tests by
default.

Risk: Medium
Visibility: Changes the internal hierarchy of the server.hosts
classes, but shouldn't affect other code that uses SSHHost.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1998 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
0afbb6369aa5aa9a75ea67dd9e95ec4b21c0c181 06-Jun-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Convert all python code to use four-space indents instead of eight-space tabs.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1658 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
12e2b216af634f7cd34282309f76a7384d6fa7d3 06-May-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Missing import of base_classes on server/remote.py

Signed-off-by: Gustavo Rahal <grahal@br.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1490 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py
321b1f594667df40038b5740fb4c182e0e5401f0 09-Apr-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> add missing files from last commit

Signed-off-by: Martin J. Bligh <mbligh@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1418 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/remote.py