History log of /external/autotest/server/hosts/__init__.py
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
dd05a946c3e3edcceb2844d64e92c73466d5065b 06-Jul-2016 Justin Giorgi <jgiorgi@google.com> [autotest] Added Host for emulated adb devices.

Minor changes to factory and utilities. Added EmulatorManager class to
handle the grunt work and EmulatedADBHost to interface with emulated
devices.

CQ-DEPEND=360512
BUG=None
TEST=Ran dummy tests on emulator with install from go/ab. Also verified
on dragonboard.

Change-Id: I3058e886deeb256e9187c4313d34f807b34eb58d
Reviewed-on: https://chromium-review.googlesource.com/360220
Commit-Ready: Justin Giorgi <jgiorgi@google.com>
Tested-by: Justin Giorgi <jgiorgi@google.com>
Reviewed-by: Simran Basi <sbasi@chromium.org>
/external/autotest/server/hosts/__init__.py
ab9769f9a8c1cfefc95cd08ba69e4e2d72a64d24 02-Jun-2016 Richard Barnette <jrbarnette@chromium.org> [autotest] Remove some dead code from server/hosts.

This removes dead code from server related to selecting which kernel
to boot during test jobs. This doesn't remove all references to
code for this feature:
* There is dead code that could trigger the code deleted here (if
it weren't dead).
* This change creates more unreferenced code that has yet to be
deleted.

BUG=chromium:266704
TEST=unit tests, run in a local instance, grep for dangling references.

Change-Id: I706f46ca51bfa7e5455c8cf4d535bfbd09c6ed21
Reviewed-on: https://chromium-review.googlesource.com/348830
Commit-Ready: Richard Barnette <jrbarnette@chromium.org>
Tested-by: Richard Barnette <jrbarnette@chromium.org>
Reviewed-by: Dan Shi <dshi@google.com>
/external/autotest/server/hosts/__init__.py
5f5579e6f825cf33bb022c08a1b2ab95bcb9d1d7 11-May-2016 Richard Barnette <jrbarnette@chromium.org> [autotest] Bury more virtualization code.

This deletes two unused modules and tests related to kvm virtualization.

BUG=None
TEST=git grep, see that the modules are unused

Change-Id: I317c1d9d64d3663f7209a85e3f4048f80281dd39
Reviewed-on: https://chromium-review.googlesource.com/343919
Commit-Ready: Richard Barnette <jrbarnette@chromium.org>
Tested-by: Richard Barnette <jrbarnette@chromium.org>
Reviewed-by: Dan Shi <dshi@google.com>
/external/autotest/server/hosts/__init__.py
5d79aefec432af28333daa8997080ee26cb54edf 05-Feb-2016 Simran Basi <sbasi@google.com> [autotest] Set TestBed.job

Adds the same magic that assigns Host.job to TestBed.

BUG=chromium:584541
TEST=modified testbed_DummyTest to hit afe_utils.host_in_lab then ran:
./test_droid.py emulator-5554,92c52320 testbed_DummyTest

Change-Id: I7aeccac7e0995fa60d3c66f0ae0fc5cee0bd2df5
Reviewed-on: https://chromium-review.googlesource.com/326200
Commit-Ready: Simran Basi <sbasi@chromium.org>
Tested-by: Simran Basi <sbasi@chromium.org>
Reviewed-by: Dan Shi <dshi@chromium.org>
Reviewed-by: Kris Rambish <krisr@chromium.org>
/external/autotest/server/hosts/__init__.py
3b11181c9ea282d584663d362bcfe2d1b4f9ba51 15-Dec-2015 Kevin Cheng <kevcheng@chromium.org> [autotest] Update Repair and Verify to handle a testbed.

The repair and verify flow assumes the machine passed in is a host.
Both control segments now check to see if it's dealing with a testbed
and to run through a list of hosts and run the proper host methods to
ensure a successful verify/repair.

BUG=chromium:548739
TEST=Locally ran reverify/repair on testbed with shamu/angler/hammerhead
successfully.

Change-Id: Ib0ade22dd9e3d7496c083fe48b642ed4069eadd6
Reviewed-on: https://chromium-review.googlesource.com/318385
Commit-Ready: Kevin Cheng <kevcheng@chromium.org>
Tested-by: Kevin Cheng <kevcheng@chromium.org>
Reviewed-by: Richard Barnette <jrbarnette@chromium.org>
Reviewed-by: Simran Basi <sbasi@chromium.org>
/external/autotest/server/hosts/__init__.py
debeb68446967a4319e1d7f9868a8b9abafce944 01-Dec-2015 Simran Basi <sbasi@google.com> [autotest] Testbed factory fixes.

Minor fixes for the testbed initialization process.

BUG=None
TEST=None

Change-Id: I0365fb761d7b91c8632a14695c908d162c3ea3bb
Reviewed-on: https://chromium-review.googlesource.com/315153
Tested-by: Simran Basi <sbasi@chromium.org>
Reviewed-by: Kevin Cheng <kevcheng@chromium.org>
/external/autotest/server/hosts/__init__.py
1c3b853b2d9b80c9efcc1a27112731b96d765e6e 19-Nov-2015 J. Richard Barnette <jrbarnette@chromium.org> [autotest] Remove dead code/features from hosts factory.

The code for create_host() in server/hosts/factory.py had a large
amount of unused legacy code left behind. This change removes all
of that unused legacy.

BUG=None
TEST=run all unit tests

Change-Id: I727521aa27e82c86e04ab3d6b62cbd9e4158f00b
Reviewed-on: https://chromium-review.googlesource.com/313192
Commit-Ready: Richard Barnette <jrbarnette@chromium.org>
Tested-by: Richard Barnette <jrbarnette@chromium.org>
Reviewed-by: Simran Basi <sbasi@chromium.org>
/external/autotest/server/hosts/__init__.py
efe1c7fc2df7e62d79ae2281d1876b8cb9d4ebcf 02-Jan-2014 Tom Wai-Hong Tam <waihong@chromium.org> Support Chameleon host, another test-assistant board, like Servo

Chameleon board is another test-assistant board, like Servo board.
It is connected to the DUT's display output, like HDMI or DisplayPort.

It aims to test the graphic/display related functions, like:
- HDMI/DP hotplug;
- Frame grabbing;
- Monitor emulation via EDID, like different resolutions;
- Fine-control on signals, like DDC, CEC, etc.

The board is Ethernet capable. A RPC daemon, i.e. chameleond, runs on
the board. A test can connect to the chameleond to control the board.

BUG=chromium:330804
TEST=manual
Use the following modified test which uses the Chameleon host to emulate
different monitor resolutions.
https://chrome-internal-review.googlesource.com/#/c/150924

Change-Id: I339e82da8e834ba59f7ceae19a86a30e366e9483
Reviewed-on: https://chromium-review.googlesource.com/181267
Reviewed-by: Hung-ying Tyan <tyanh@chromium.org>
Tested-by: Wai-Hong Tam <waihong@chromium.org>
Commit-Queue: Wai-Hong Tam <waihong@chromium.org>
/external/autotest/server/hosts/__init__.py
431010f31bceddcf92f36e1b82397b9a56ffee54 04-Sep-2013 Simran Basi <sbasi@chromium.org> Autotest: Add ADBHost and simple server side test.

This change adds a ADBHost, which represents a machine running ADB
with an android device connected. ADBHost may be either the local
machine or a repote IP addressable host with adb installed. In
either setup, all the ADB interactions can be done via USB or TCP/IP
though USB is more stable and the perferred interaction.

So far ADBHost only allows for server-side testing of the android
device. Included is a simple reboot test. Note interacting with the
device over TCP/IP after rebooting multiple times can run into
some flake. This should be resolved with verify/repair methods to
ensure/get us to a good state.

Also refactored ignore_timeout all the way into base_utils.

BUG=chromium:294308
TEST=$ ./autoserv -s site_tests/adb_Reboot/control -m localhost
--disable_sysinfo --no_collect_crashinfo Ran with localhost, remote
beaglebone running as an ADB Host and both over usb/tcpip. Tests
for tcp_ip used --args="device_hostname=172.22.50.232"
Also works with test_that --board=daisy [ip] adb_Reboot --fast

Change-Id: I504492ff3fb67c97d37b5e4376b7257ed1dd4ca5
Reviewed-on: https://chromium-review.googlesource.com/169884
Tested-by: Simran Basi <sbasi@chromium.org>
Reviewed-by: Fang Deng <fdeng@chromium.org>
Reviewed-by: Alex Miller <milleral@chromium.org>
Reviewed-by: Simran Basi <sbasi@chromium.org>
Commit-Queue: Simran Basi <sbasi@chromium.org>
/external/autotest/server/hosts/__init__.py
5d518f4399bc77916591cd02ca15b4d394f56f96 02-Aug-2013 Fang Deng <fdeng@chromium.org> [autotest] Add servo repair process

This CL has the core logic of servo repair process.
A new type of host class, ServoHost, is created for interacting
with our beaglebones. With this class, we can verify and repair
a beaglebone.

CrosHost._initialize now checks whether a servo is required by
a test (see inline comments about how this is achieved).
If a servo is required and the servo is in our lab,
it will attempt to repair bad servo. It will raise an exception
if the servo couldn't be fixed.

CrosHost.repair_full now attempts to repair the servo as well.
If a servo can't be fixed, the repair job will fail leaving the
DUT in "Repair Failed" status.

BUG=chromium:245320
TEST=1)Manually make cros_host believe it is dealing with a lab servo,
and test with repair job, and platform_InstallTestImage.
Confirm when servo is broken, it goes through the servo repair flow.
2) Use local servo by setting servo_args with local servo ip.
Test with repair job and platform_InstallTestImage.
Confirm when servo is broken, it throws a exception.
3) Manually test ServoHost.run, Servo.system, Servo.system_output,
Servo, Servo._scp_image, ensure they work after refactoring.

Change-Id: I9abc3320ba84a604a6534b75d16156bda30b09b5
Reviewed-on: https://chromium-review.googlesource.com/66891
Reviewed-by: Richard Barnette <jrbarnette@chromium.org>
Commit-Queue: Fang Deng <fdeng@chromium.org>
Tested-by: Fang Deng <fdeng@chromium.org>
/external/autotest/server/hosts/__init__.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/__init__.py
3abbceee9421805bed8f5c2c6c6abb9299b32cbf 11-Jul-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> For files that won't be directly executed, the #! is unneccessary and can
confuse some tools that attempt to detect what the file is. Best to just
not have them there.

Signed-off-by: Jesse Keating <jkeating@redhat.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3407 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/__init__.py
b18134f8faa7c5b4623760bc88650a65e70b2cac 20-Mar-2009 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> As discussed on the mailing list, we implemented logging with a single
root logger and logging configurations per entry points. The entry
points affected are:

* Autotest client
* Autoserv
* Scheduler

We are sending patches for each one of those entry points. Now we don't
need to 'grab' loggers anymore to log messages, only need to use the
utility functions:

logging.info('msg')
logging.debug('msg')
logging.warning('msg')
logging.error('msg')
logging.critical('msg')

Which reduces complexity of the log system, and makes it easier for
developers to log messages, just select the level, make sure the
standard logging module is loaded, and profit!

From: Lucas Meneghel Rodrigues <lmr@linux.vnet.ibm.com>
Signed-off-by: Steve Howard <showard@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2915 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/__init__.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/__init__.py
635b06f6c016fd5e4e14e98c471e92b1f435ac46 05-Sep-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Pull the host factory method out of server/hosts/__init__.py and into
a separate module, and add in a hook for site-specific code.

Risk: Low
Visibility: Most just a refactoring.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2111 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/__init__.py
1b856917ff5d4df036f32b8da295028b8aa4143e 04-Sep-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> If serial and net consoles are not available, poll dmesg (through
/var/log/kern.log) instead. It isn't as high-availability as the
other types of console since it requires that the host be ssh-able
but it should still be able to detect some kinds of errors like
oom-kills.

Risk: Low
Visibility: Machines lacking serial & net console should still get
some console monitoring.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2104 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/__init__.py
c533bd1773ea45b2bfcbab767b620918d5aea368 03-Sep-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Add netconsole support to the console logging, as a backup when
serial console is unavailable.

Risk: Low
Visibility: If serial console support is unavailable, we can at least
pull console logs from netconsole.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2092 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/__init__.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/__init__.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/__init__.py
f5427bb08d4f783874e9de7fd31e259cb5207d36 09-Apr-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix up the importing in server/hosts to not be so fragile. Importing
utils from these modules was just a bad idea (it depends on the server
dir being in sys.path) and the circular references between some of the
modules are making things unnecessarily fragile.

The main changes are:
- converted all of the imports from the server directory and from
the common lib into absolute imports (i.e. from autotest_lib.*)
- moved the RemoteHost definition into a remote.py file, so that
SiteHost can subclass Host without introducing a circular
dependency between base_classes and site_host

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1417 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/__init__.py
c9f342d2dcb8deffc31ad2c48c2420aa17839016 28-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix the crappy error handling in utils.run() - it doesn't work
at all right now, because no exceptions are thrown for a timeout

Move CmdResult class to utils.py - it has no business being under
hosts/ ... nothing to do with it.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@995 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/__init__.py
3409ee79a383313b626f80f2ca3a628455ff804d 17-Oct-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Merged ConmuxSSHHost with SSHHost. If the remote machine has a serial
console you can now use SSHHost to hard reset the machine and to log
console output to a file. The class still works file when using a
machine without a serial console, with the caveat that hard reset and
console logging will fail silently.

The change also fixes a couple of issues with the original ConmuxSSHHost
implementation, specifically:
- it properly terminates all the console logging subprocesses
- hardreset can wait for the machine to come back up

From: jadmanski@google.com



git-svn-id: http://test.kernel.org/svn/autotest/trunk@811 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/__init__.py
6a64126834d60aed7a99be2b54c04e7fdab1b56f 24-Jul-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> This patch adds bootloader functionality to autoserv:

From: Benjamin Poirier <poirier@google.com>
Signed-off-by: Martin J. Bligh <mbligh@google.com>

* removed Lilo and Grub classes
* Bootloader uses boottool, boottool support brought in from autotest, get_title(), get_info() improved, add_kernel() has 'default' parameter to add an entry and make it the default one in one simple step
* Kernel has new methods to ease installation, get_version(), get_initrd_name() and get_image_name()
* DEBKernel changed to implement those method and call the host's bootloader during install()

Installing and booting .deb kernel now works.
Example usage:

rh= hosts.SSHHost("192.168.0.1")

print rh.run("uname -a").stdout

kernel= deb_kernel.DEBKernel()
kernel.get("/home/poirier/linux-2.6.22_2.6.22_amd64.deb")

kernel.install(rh)

rh.reboot()
rh.wait_up()

print rh.run("uname -a").stdout

Credit goes to Ryan for bringing in boottool support.



git-svn-id: http://test.kernel.org/svn/autotest/trunk@574 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/__init__.py
dcd57a85fc9233c4dc9f45da55338a2c09f5a37e 12-Jul-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add initial version of autoserv



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