Release notes

* LAVA dispatcher now tries to make as much progress in the test run as possible despite failures of previous actions, and keeps track of which actions passed or failed rather than just whether the whole test run completed or not.
* Trial support for snowball board
* Bug fixes: #791725, #806571, #768453

Changelog

View the full changelog

2011-07-21 Paul Larson <email address hidden>

Version 0.1.0

2011-07-21 Paul Larson <email address hidden>

Add trial support for snowball boards

2011-07-20 Paul Larson <email address hidden>

Some minor changes to fix sudo, and work around a lmc issue where some
images are too big to fit in the 2G default image size.

2011-07-20 Paul Larson <email address hidden>

improve error handling

2011-07-20 Spring Zhang <email address hidden>

throw critical exception when failure in android image deployment

2011-07-20 Spring Zhang <email address hidden>

throw critical exception when failure in image deployment

2011-07-20 Spring Zhang <email address hidden>

add traceback information to error log if exception occurs

2011-07-20 Spring Zhang <email address hidden>

raise exception to be captured in android 0xbench test

2011-07-20 Spring Zhang <email address hidden>

merge from mainline r76

2011-07-20 Spring Zhang <email address hidden>

add import missing

2011-07-01 Spring Zhang <email address hidden>

add Exception import to avoid strange 'err' not defined error

2011-06-30 Spring Zhang <email address hidden>

add timeout for lava-test deployment determination

2011-06-30 Spring Zhang <email address hidden>

merge from mainline r72

2011-06-24 Spring Zhang <email address hidden>

throw critical error when android deployment fails

2011-06-22 Spring Zhang <email address hidden>

make pexpect TIMEOUT exception a non-critical error and raise critical error in actions instead determining action name in top handler

increase network detecting wait timeout for some board needs more time to prepare the network

2011-07-01 Spring Zhang <email address hidden>

increase network probe up ready timeout

2011-07-06 Paul Larson <email address hidden>

Add lsb-release to dependencies, and some misc pep8 cleanups

2011-07-06 Paul Larson <email address hidden>

Clean up tmpdirs on successful deployment

2011-07-01 Spring Zhang <email address hidden>

add timestamp to result bundle name in case same bundle file overwrited

2011-06-30 Spring Zhang <email address hidden>

add time to result bundle name in case two same test run in one job

2011-06-29 Paul Larson <email address hidden>

Strangeness on prompt detection happens sometimes, and it's really
strange that we tell android what it's prompt is, but we force it to be
something different. This makes the prompt used on test images the
same.

2011-06-28 Paul Larson <email address hidden>

python-simplejson also needed now. At some point, this will all just
pull the package instead of needing to specify deps here

2011-06-28 Paul Larson <email address hidden>

Use python-setuptools instead of python-distutils for lava-test

2011-06-27 Paul Larson <email address hidden>

rename lava/dispatcher to lava_dispatcher

2011-06-27 Michael-Doyle Hudson <email address hidden>

update import statements

2011-06-27 Michael-Doyle Hudson <email address hidden>

move lava/dispatcher to lava_dispatcher

2011-06-27 Paul Larson <email address hidden>

Remove scheduler code in lava-dispatcher, new scheduler can now be found
in lava-scheduler project

2011-06-27 Michael-Doyle Hudson <email address hidden>

remove lava/scheduler and lava_schedulerd

2011-06-23 Paul Larson <email address hidden>

Add headers

2011-06-23 Paul Larson <email address hidden>

Release 2011.06

2011-06-20 Paul Larson <email address hidden>

This is needed to work around a uboot problem in recent versions.
Should be benign otherwise.

ifconfig match ip pattern timeout should be set as same as that for dhcp.

Wait longer for device booting up.

2011-05-24 <email address hidden>

Clean up unnecessary import in android_0xbench.py

2011-05-24 Paul Larson <email address hidden>

Move all of the command execution loop inside the try block

2011-05-24 Paul Larson <email address hidden>

increase default timeout to 3600

2011-05-24 Paul Larson <email address hidden>

submit results even when there is a failure

2011-05-23 Paul Larson <email address hidden>

minor config change for consistancy

2011-05-23 Paul Larson <email address hidden>

Merge support for caching downloads

2011-05-23 Paul Larson <email address hidden>

fix for cross-linking across filesystems and break out some duplicated
code

2011-05-05 Paul Larson <email address hidden>

ignore that the cache file suddenly exists when trying to link to it
after downloading. This can happen when tests are running in parallel
using the same image. Eventually, I suppose it might be neat to have
it call out to some download service that would already know what other
requests it's recieved, and notify all clients when a single download is
finished and cached. This is straightforward, and gets the job done for
now though without requiring an additional service.

2011-05-23 Paul Larson <email address hidden>

Attach serial logs before submitting the bundle

2011-05-23 Paul Larson <email address hidden>

Merge support for serial console log attachments from Spring Zhang

2011-05-21 Spring Zhang <email address hidden>

attach serial log to LavaTestData instead of every test result bundle so that reduce duplicated information

1. define a new constant LAVA_RESULT_DIR, and do corresponding modification in related files.
2. implement cmd_submit_results, refer to the code in lc-tool.

2011-03-24 Spring Zhang <email address hidden>

merge from mainline r18

2011-03-22 Spring Zhang <email address hidden>

add a simple temp test

2011-04-08 Paul Larson <email address hidden>

update top level structure of lava

2011-04-08 Paul Larson <email address hidden>

update .testr.conf

2011-04-08 Michael-Doyle Hudson <email address hidden>

re-merge fix from trunk

2011-04-08 Michael-Doyle Hudson <email address hidden>

some more

2011-04-08 Michael-Doyle Hudson <email address hidden>

fix scheduler imports

2011-04-08 Michael-Doyle Hudson <email address hidden>

fix dispatcher imports

2011-04-08 Michael-Doyle Hudson <email address hidden>

start the rearrangement

2011-04-08 Michael-Doyle Hudson <email address hidden>

merge enable-admin

2011-04-08 Paul Larson <email address hidden>

Hi, this branch enables the admin interface for the scheduler
application. Creating a superuser for yourself locally when using OpenID
is a bit tedious, but I've included a helper and instructions how to do
it in the README.

2011-04-08 Michael-Doyle Hudson <email address hidden>

merge print removal from trunk

2011-04-08 Michael-Doyle Hudson <email address hidden>

oops, meant to delete this!

2011-04-08 Michael-Doyle Hudson <email address hidden>

add a final newline back

2011-04-08 Michael-Doyle Hudson <email address hidden>

update Makefile to run syncdb; update README

2011-04-08 Michael-Doyle Hudson <email address hidden>

add a command for turning a user into a superuser

2011-04-08 Michael-Doyle Hudson <email address hidden>

add the admin urls

2011-04-08 Michael-Doyle Hudson <email address hidden>

move the logout "page" to root, send user back to / when they log out

2011-04-08 Michael-Doyle Hudson <email address hidden>

allow the user to log out

2011-04-08 Michael-Doyle Hudson <email address hidden>

add python-openid to requirements.txt

2011-04-07 Paul Larson <email address hidden>

enable login with openid

2011-04-07 Paul Larson <email address hidden>

Support logout

2011-04-07 Paul Larson <email address hidden>

Add python-openid

2011-04-07 Michael-Doyle Hudson <email address hidden>

enable logging in with openid, make a base template and show who is logged in there on it

2011-04-06 Paul Larson <email address hidden>

Use virtualenv to install the python dependencies and reorganize
entrypoints a bit.

2011-04-07 Michael Hudson <email address hidden>

Add a README

2011-04-07 Michael Hudson <email address hidden>

absolutize more module names

2011-04-07 Michael Hudson <email address hidden>

use full name for scheduler_app

2011-04-07 Michael Hudson <email address hidden>

start to use virtualenv & other top level rearrangements

2011-04-01 Paul Larson <email address hidden>

add a dispatcher.run_job() to actually do the work, so that it can be
called from the outside by things like the scheduler

2011-04-01 Paul Larson <email address hidden>

Add init for top level

2011-03-30 Paul Larson <email address hidden>

docstring for run_job()

2011-03-30 Paul Larson <email address hidden>

extract the bits that actually run the actions into
dispatcher.run_job(), and have lava-dispatcher call that. This will
better support letting something else, like the scheduler daemon call
run_job directly

2011-03-30 Paul Larson <email address hidden>

rename lava dir to dispatcher

2011-03-25 Paul Larson <email address hidden>

Move test for mx51evk out, and a few other minor changes

2011-03-24 Loïc Minier <email address hidden>

Avoid repeating self.client, self.tarball_dir.

2011-03-24 Loïc Minier <email address hidden>

Track boot and root partition numbers in Board classes rather than
special-casing the code.

2011-03-24 Loïc Minier <email address hidden>

Use safer machine parseable output from parted; supported at least in lucid's
parted and later.

Add BaseOverwatchInterface and test for BaseOverwatchDriver and BaseOverwatchInterface

2011-02-18 Zygmunt Krynicki <email address hidden>

Add interfaecs for tests and dashboard. Improve interface APIs.

2011-02-18 Zygmunt Krynicki <email address hidden>

Add work-in-progress dispatcher interface

2011-02-17 Zygmunt Krynicki <email address hidden>

Add desktop driver and simple IShellControl implementation based on ssh

2011-02-17 Zygmunt Krynicki <email address hidden>

Add ISerialControl interface

This interface can be used to send commands to a device and get a Popen-like
behavior.

2011-02-15 Zygmunt Krynicki <email address hidden>

Add initial version of serial controller

2011-02-15 Zygmunt Krynicki <email address hidden>

Intial work on overwatch drivers and tests

2011-02-11 Zygmunt Krynicki <email address hidden>

Add test case that checks Driver.get_overwatch() works for the dummy driver

This test is very easy to write and does not require mocking the pkg_resources
API. A few more tests are still needed to cover two possible failures.

2011-02-11 Zygmunt Krynicki <email address hidden>

Add dummy overwatch driver.

This driver is used by default by all devices unless another driver is
specified. It does not implement any additional interfaces so from LAVA's point
of view the device cannot be controlled in any way but conforms to the driver
API.

2011-02-11 Zygmunt Krynicki <email address hidden>

Add base class overwatch drivers

This base class implements the driver interface and simplifies effort required
to develop real drivers. The lava.overwatch.drivers package will be also used
by all official drivers that are maintained inside the tree.

2011-02-11 Zygmunt Krynicki <email address hidden>

Add overwatch driver interface

This interface allows both first and third party python modules to ship
additional drivers that will enrich the LAVA stack.

2011-02-11 Zygmunt Krynicki <email address hidden>

Add setup.py and re-create project directory.

Unfortunately to package a django project I need to have a top-level package
with all the files, otherwise modules like settings, urls and manage would
pollute top-level python namespace.

2011-02-11 Zygmunt Krynicki <email address hidden>

Make Device.device_type optional by allowing null values

2011-02-11 Zygmunt Krynicki <email address hidden>

Remove dummy tests generated by django-admin

2011-02-11 Zygmunt Krynicki <email address hidden>

Add overwatch_driver and overwatch_config to Device model.

Both of those fields allow to implement the get_overwatch() method that gives
programmatic control over the device.

2011-02-10 Zygmunt Krynicki <email address hidden>

Merge overwach application with the ovlue of the device repository

2011-02-10 Zygmunt Krynicki <email address hidden>

Rename overwatch.models.DeviceClass to DeviceType

Existing migratino edited in-place as branch did not land yet

2011-02-10 Zygmunt Krynicki <email address hidden>

Make manage.py executable

2011-02-10 Zygmunt Krynicki <email address hidden>

Increase maximum length of DeviceClass.name to 64

Again as before, since this branch did not land yet I edited the initial
migration and the model to avoid excessive migration steps.

2011-02-10 Zygmunt Krynicki <email address hidden>

Don't use Test in model names.

Following the advice of Paul Larson I have limited the usage of 'Test'. I did
not use migrations for this (in fact I edited the old migration) as this branch
did not land yet.

2011-02-10 Zygmunt Krynicki <email address hidden>

Move parasitic_cone contents to the root directory.

The old directory was just a "place" I was using to drive new development and
as Paul Larson noted it's not really necessary. The code was therefore moved
to the top-level directory.

In addition due to the way django imports applications and projects I had to
move lava to a different directory not to cause import failures (you cannot
have a project called the same way as an existing module or package). I
therefore moved the directory to liblava.

2011-02-09 Zygmunt Krynicki <email address hidden>

Add TestDevice and TestDeviceClass models.

TestDevice instance will be necessary for each device addressable by other
components of the LAVA stack. In practice each device in the "test lab" that
can be used to perform tests will have an entry like that.

TestDeviceClass is used to represent equivalent devices. The actual devices can
be configured differently at any given time, the intent of this model is to
bind devices that are identical by hardware. It is currently assumed that all
test devices can be reconfigured for the purpose of the actual test. In the
future we may introduce another model that would help to represent situations
where a specific device (of a common class) has some additional modifications,
or is hooked to some specialized external measurement tools that cannot be
easily (and automatically) moved to other devices of this class. Currently this
is not supported.

2011-02-09 Zygmunt Krynicki <email address hidden>

Add overwatch and south to INSTALLED_APPLICATIONS

2011-02-09 Zygmunt Krynicki <email address hidden>

Use simple sqlite3 database backend

2011-02-09 Zygmunt Krynicki <email address hidden>

Add the overwatch application to parasitic cone.

Overwatch will be responsible for looking after devices and will expose
services that can alter their state. Overwatch will store the registry of all
known devices and will provide an entry point for pluggable Overwatch drivers
specific to each device class and possibly specific setup. Overwatch drivers
will be able to expose a set of implemented interfaces that can be accessed
from other parts of the LAVA stack. Planned interfaces are boot control,
power/reboot control, shell control and more.

Overwatch will run both as django application with simple front-end as well as
a celery task worker. The second mode will be used to talk to the rest of the
message queue interconnected systems. Currently at least the following
standalone systems are planned: serial line monitor, power brick controller,
human-assisted reboot service, abrek test dispatcher. Each of those programs
can run on different host, usually strictly bound to the physical interconnect
to test devices (aka "the boards"). Each of those components are also
asynchronous and can come and go as needed.

2011-02-09 Zygmunt Krynicki <email address hidden>

Add parasitic cone project

Parasitic cone will help lava flow and form a nice volcano!

2011-01-31 Paul Larson <email address hidden>

Small bug fixes

2011-01-30 Paul Larson <email address hidden>

Small bug fixes, fix typo in beagle uboot command, and soft reboot
should detect kernel start messages before looking for the command line
again.

2011-01-26 Paul Larson <email address hidden>

add support for detecting uboot, and booting test images

2011-01-26 Paul Larson <email address hidden>

Make board type mandatory.

2011-01-24 Paul Larson <email address hidden>

Add support for detecting uboot, and booting to test images for a few
boards.