branches with status:
Name Status Last Modified Last Commit
lp://staging/~david-schwarz/lava-dispatcher/multi_target_2011.09 (Linked to a blueprint)(Has a merge proposal) 1 Development 2011-10-11 02:08:34 UTC
128. multi-target: Enable management of mu...

Author: David Schwarz
Revision Date: 2011-10-11 01:54:11 UTC

multi-target: Enable management of multiple target machines

This patch modifies lava-dispatcher to allow it to manage tests
that require synchronized actions across multiple machines.

The main thread launches a child thread for each target and then
waits for child threads to complete.

Each child thread is given a list of actions constructed from the
json job file.

Changes to job file format:
Multi-target jobs should include a "client_groups" attribute
containing one or more named groups of target machines, e.g.:

    "client_groups": [
        {
            "name": "target_group",
            "target_hosts": [
                "host1", "host2"
            ]
        },
        {
            "name": "helper_group",
            "target_hosts": [
                "host3"
            ]
        }
    ]

    "target_hosts" lists may include ip addresses and ip address
ranges ("xxx.xxx.xxx.xxx-yyy.yyy.yyy.yyy").

    Each action in a multi-target job includes a list of target
groups, e.g.:

"target_groups" = ["target_group", "helper_group"]

Synchronization may be written in the action implementations.
If job-script-level synchronization is desired, the provided
sync_to_label action will cause all members of all groups in
its "target_groups" list to wait for all other members to reach
that action before continuing.

Both client- and server-side results for all clients are
collected and submitted by the "submit_results" action.

lp://staging/~david-schwarz/lava-dispatcher/result_reporting_2011.09 (Linked to a blueprint)(Has a merge proposal) 1 Development 2011-10-07 16:20:14 UTC
128. managed testing: Add server-managed t...

Author: David Schwarz
Revision Date: 2011-10-07 15:53:16 UTC

managed testing: Add server-managed tests and result reporting features

Add test_action decorator for action classes. This decorator allows the
caller of the action optionally to specify the following:

- annotation: Distinguishing information about this instance of the test action
- min_pass / max_pass: Measurement thresholds for the test action. If the
action reports a measurement less than min_pass or greater than max_pass, failure
is reported

Test actions report any measurement stored by their run() method, regardless of
pass/fail status

Test actions may raise a TestFailure exception in their run() method
to report a failure condition with an optional message. This approximates
the ASSERT behavior of JUnit-style frameworks.

Add optional JUnit-style XML file result reporting to submit_results action

Add optional display of results to the lava-dispatcher console

Added TestFailure exception class

Use name of json job file as name of test suite / test_id

Incidental changes:

Allow action classes to be placed in any subdirectory of lava_dispatcher/actions,
not just that path itself

Make retrieval of exit status of command in LavaClient.run_shell_command optional.
Retrieving the status effectively clears the pexpect buffer, which may be undesirable
if the user wishes to use or inspect the output of the command.

lp://staging/~david-schwarz/lava-dispatcher/ssh_qemu_clients_2011.09 (Linked to a blueprint)(Has a merge proposal) 1 Development 2011-10-06 22:38:08 UTC
128. clients: refactor + add SSH and QEMU ...

Author: David Schwarz
Revision Date: 2011-10-06 22:12:37 UTC

clients: refactor + add SSH and QEMU clients

Clients are refactored to make LavaClient an abstract base class.
Common functionality is included in this class.

LavaSSHClient: Connect to and manage a client using pxssh

LavaQEMUClient: Create and manage a QEMU virtual machine

LavaConmuxClient: Create and manage a client using Conmux

Other minor changes:

Search for actions in all subdirectories of lava_dispatcher/actions

Add a parameter to LavaClient.run_shell_command to make retrieval
of the command exit code optional. This prevents run_shell_command
from automatically clearing the pexpect buffer, in case the caller
wishes to process the command's output.

lp://staging/~david-schwarz/lava-dispatcher/config-clients-merge 1 Development 2011-08-16 17:17:47 UTC
92. QEMU client: Fixed use of config, add...

Author: David Schwarz
Revision Date: 2011-08-16 14:43:46 UTC

QEMU client: Fixed use of config, added example

14 of 4 results