Skip to main content

Generate LAVA job definitions for different devices and tests

Project description

Build Status REUSE Compliance Check

lava-test-plans

The lava-test-plans project makes it easier to generate LAVA job definition files. It generates the LAVA job definition file from a set of templates.

Installation

Install lava-test-plans from pip:

lava-test-plans -h

or

via podman/docker:

docker run -i -t lavasoftware/lava-test-plans /bin/bash

lavasoftware/lava-test-plans:latest points to the latest released version. lavasoftware/lava-test-plans:master points to the latest development.

If the above commands succeed, you can run to check that the program starts correctly

lava-test-plans -h

Developing

To install the latest development version:

git clone https://github.com/Linaro/lava-test-plans.git
cd ./lava-test-plans

pip3 install flit
flit install --symlink

or

You need to do if you have docker installed:

docker run --volume $HOME/path/to/lava-test-plans:/xyz -i -t lavasoftware/lava-test-plans /bin/bash
cd /xyz

lavasoftware/lava-test-plans:latest points to the latest released version. lavasoftware/lava-test-plans:master points to the latest development.

There will be a directory with /lava-test-plans from either a "released" version or directly from master.

If the above commands succeed, you can run to check that the program starts correctly

python3 -m lava_test_plans -h

External variables

External variables are set in the variables.ini file. Each line in this file is in the form

key=value

Lines starting with # are omited. Variables can also be set using --overwrite-variables parameter. List of used variables:

  • PROJECT_NAME: used as the first part in the test job name. Can be set to differentiate LAVA test jobs between different teams/projects
  • BUILD_NUMBER: used as last part in the test job name.
  • KERNEL_BRANCH: used in test job name
  • OS_INFO: used in test job name
  • LAVA_JOB_PRIORITY: priority of the LAVA job, used by LAVA scheduler
  • LAVA_JOB_VISIBILITY: defaults to public. This block can be used to restrict job visibility to user or group.
  • LAVA_JOB_VISIBILITY_GROUPS: variable should contain groups required by job. Formtatting is important and this variable should be formatted comma separated list. Example: group1, group2. In case of using just one group, end string with comma. Example: group1,
  • AUTO_LOGIN_: default *PROMPT='login:', *USERNAME='root' and *PASSWORD=''.
  • BOOT_LABEL: default BOOT_LABEL='boot'.
  • TAGS: variable should contain tags required by job. Formtatting is important and this variable should be formatted comma separated list. Example: tag1, tag2. In case of using just one tag, end string with comma. Example: tag1,
  • UBOOT_VERSION_STRING: string that is matched in the u-boot shell from output of command version
  • OVERLAY_MODULES_ *: overlays modules into the rootfs.
  • TEST_DEFINITIONS_REPOSITORY: points to the test repository to use, default: https://github.com/Linaro/test-definitions.git

Variables can also be stored in YAML file. Usual YAML syntax applies.

Timeouts

Overall job timeout is a sum of action timeouts. There are 6 components:

  • deploy_timeout
  • boot_timeout
  • install_fastboot_timeout
  • fastboot_deploy_timeout
  • target_deploy_timeout
  • TARGET_BOOT_TIMEOUT
  • test_timeout

When LXC is not in use all lxc_ timeouts are set to 0. test_timeout is defined for each test template. target_ timeouts can be set separately for each device.

CI for docker multiarch builds

lava-test-plans gets mirrored to gitlab https://gitlab.com/Linaro/lava-test-plans to build multiarch docker containers and publish them to https://hub.docker.com/r/lavasoftware/lava-test-plans, that is why there is a .gitlab-ci.yml in this repository.

Repository

Pull requests are welcome to https://github.com/linaro/lava-test-plans.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lava-test-plans-3.2.0.tar.gz (54.9 kB view details)

Uploaded Source

Built Distribution

lava_test_plans-3.2.0-py2.py3-none-any.whl (144.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file lava-test-plans-3.2.0.tar.gz.

File metadata

  • Download URL: lava-test-plans-3.2.0.tar.gz
  • Upload date:
  • Size: 54.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.28.1

File hashes

Hashes for lava-test-plans-3.2.0.tar.gz
Algorithm Hash digest
SHA256 54b0841ad5e774cd04c9b0c99fd38005d5e93a528ed3c42340b5c87afd90b617
MD5 98fbd070469efb7c24c51c588995a7c5
BLAKE2b-256 3ab6bd80a7a4bc394c1ab7efbe416aa6f11ede03c9356aaca9018090e6b31d2e

See more details on using hashes here.

File details

Details for the file lava_test_plans-3.2.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for lava_test_plans-3.2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 1ab226cdbed3023d805075ac13a5cba832c5c32add7729aaf311838b44c4d785
MD5 7955ae299c0b385f7ecb9c1fb8439b39
BLAKE2b-256 fedde21499744d4eefae8463f055e7489ba20d6d65f6163ef51fb369b6503c85

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page