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

To install the latest development version:

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

You need to install Python dependencies:

pip3 install -r requirements.txt

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.
  • 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.1.0.tar.gz (47.0 kB view details)

Uploaded Source

Built Distribution

lava_test_plans-3.1.0-py2.py3-none-any.whl (126.5 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

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

File hashes

Hashes for lava-test-plans-3.1.0.tar.gz
Algorithm Hash digest
SHA256 5589767269c419cff69977251b8819c103b99e93bbbcd43393e44840df4f8fa9
MD5 09cfa04c197842b82908be351bcc9348
BLAKE2b-256 3484473a325d522c659371658e7837ed795685794bcceea4f04150cd5e598c2d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lava_test_plans-3.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 898e29e785db56558d8c5482b9b32e61bd53e4445f6cffff5aba6c316ce1e909
MD5 07cfef450af8f0daa6d888f28349fedf
BLAKE2b-256 cf9e57e077cdefc165b41ca5794dfedbc49bf0a283de47bc1230131ad95e29d7

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