== LAVA QA Tool ==

Command line tool for LAVA quality assurance tasks.

=== Install software from upstream code ===

   $ git clone git+ssh://git.collabora.co.uk/git/singularity/tools/lqa.git
   $ cd lqa/
   $ sudo python setup.py install

=== Install software from Debian package ===

The lqa package is built at Collabora OBS:

   https://build.collabora.co.uk/package/show?package=lqa&project=collabora%3Apublic%3Atools

And it is published at Collabora repositories:
     
   deb https://repositories.collabora.co.uk/obs/debian/ <SUITE> tools

where `<SUITE>` can be `wheezy`, `jessie` or `precise`.

=== Usage example ===

LAVA is just an automated framework to push in jobs, then those jobs run
the useful test case definitions.

For Singularity OS, the test and job definitions are found at:

   http://cgit.collabora.com/git/singularity/qa/test-definitions.git/
   git+ssh://git.collabora.co.uk/git/singularity/qa/test-definitions.git

For other projects, those might reuse test definitions, but probably need a
separated test jobs tree.

The `examples/lqa.yaml` file is provided as an example that the developer 
must update before lqa usage and place it into the directory `$HOME/.config/`.

Extra examples on jobs are also provided in the `examples` directory.

Now for the real usage, tests can be run in a lot against certain image:

   $ lqa --log-file /var/log/lqa-sin-validator.log \
     submit \
     -g examples/profiles.yaml \
     --all-profiles \
     -t image_date:150305-004801 \
     templates/*.json

The previous example will run all jobs from `templates/*.json`,
using the configuration file `$HOME/.config/lqa.yaml`, for all profiles
configured in the file `examples/profiles.yaml`. The image to be used will
be the one with timestamp `150305-004801` and actions will be logged at 
`lqa-sin-validator.log`.

If the `lqa.yaml` configuration file is located in another directory,
the `--config` or `-c` options can be used like:

   $ lqa --config examples/lqa.yaml \
     --log-file /var/log/lqa-sin-validator.log \
     submit \
     -g examples/profiles.yaml \
     --all-profiles \
     -t image_date:150305-004801 \
     templates/*.json

The previous example will run all jobs in `templates/*.json`, using 
the configuration file `examples/lqa.yaml`, for all profiles configured 
in the file `examples/profiles.yaml`. The image to be used will be the one 
with timestamp `150305-004801` and actions will be logged at `lqa-sin-validator.log`.

B&I/QA Team
singularity@lists.collabora.co.uk
