About this:
-----------

This module contains extensions to `atest` that proved to be useful
when doing virtualization testing of multiple KVM versions, on multiple
operating system versions (Fedora, RHEL5, RHEL6).

It uses a simple templating mechanism, to inject extra configuration into
the server control file, that will then end up on the cartesian config
file parsing. These options can be set directly with the command line
options `--extra-cartesian-config` or indirectly with other command line
options such as `--koji-tag` and `--koji-pkg`.

Some options, such as the koji ones, will trigger local validation, that
is, errors such as specifying invalid packages will be caught right away,
and the job won't be submitted. This is to prevent a typo from triggering
a job that will fail and waste developer time.

We also included a version of our internal test config, cleaned out
to include only the publicly available upstream components.
You may copy it to qemu/cfg/site-config.cfg, on your virt-tests copy.

Instalation:
------------

1) copy (or link) the site_job.py file to <autotest_root>/cli/,
usually /usr/local/autotest/cli.

2) validate it is working by running:

  # <autotest_root>/cli/atest job create --help

The output should include the added options:

...
  -T, --template        Control file is actually a template
  -x EXTRA_CARTESIAN_CONFIG, --extra-cartesian-config=EXTRA_CARTESIAN_CONFIG
                        Add extra configuration to the cartesian config file
  --timestamp           Add a timestamp to the name of the job
  --koji-arch=KOJI_ARCH
                        Default architecture for packages that will be fetched
                        from koji build. This will be combined with
                        "noarch".This option is used to help to validate
                        packages from the job submitting machine.
  --koji-tag=KOJI_TAG   Sets a default koji tag for koji packages specified
                        with --koji-pkg
  --koji-pkg=KOJI_PKG   Packages to add to host installation based on koji
                        build. This options may be specified multiple times.


Usage Examples:
---------------

These examples actually depend on local cartersian configuration, that is,
they might not work out of the box in your autotest installation. Please
use them only as a reference and adapt the examples to your scenario:

1) To run a test of the upstream qemu git repo:

  # <autotest_root>/cli/atest job create -s -m "yourmail@yourdomain.org" \
    -f "<autotest_root>/contrib/virt/control.template" -T --timestamp \
    -x 'only qemu-git..sanity' "Upstream qemu.git sanity"

2) To run a test with specific packages built on koji:

  # <autotest_root>/cli/atest job create -s -m "yourmail@yourdomain.org" \
    -f "<autotest_root>/contrib/virt/control.template" -T --timestamp \
    --koji-tag=f15 --koji-pkg=':qemu-kvm:qemu-kvm,qemu-img,qemu-kvm-tools' \
    --koji-pkg='seabios' --koji-pkg='vgabios' --koji-pkg=':gpxe:gpxe-roms-qemu' \
    --koji-pkg=':spice-server:spice-server' \
    -x 'only f15-koji..sanity' "Fedora 15 Koji Sanity"


Contributed by (who to bug):
----------------------------
Cleber Rosa (crosa@redhat.com)
Lucas Meneghel Rodrigues (lmr@redhat.com)
