Generate LAVA job definitions for different devices and tests
Project description
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5589767269c419cff69977251b8819c103b99e93bbbcd43393e44840df4f8fa9 |
|
MD5 | 09cfa04c197842b82908be351bcc9348 |
|
BLAKE2b-256 | 3484473a325d522c659371658e7837ed795685794bcceea4f04150cd5e598c2d |
File details
Details for the file lava_test_plans-3.1.0-py2.py3-none-any.whl
.
File metadata
- Download URL: lava_test_plans-3.1.0-py2.py3-none-any.whl
- Upload date:
- Size: 126.5 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.28.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 898e29e785db56558d8c5482b9b32e61bd53e4445f6cffff5aba6c316ce1e909 |
|
MD5 | 07cfef450af8f0daa6d888f28349fedf |
|
BLAKE2b-256 | cf9e57e077cdefc165b41ca5794dfedbc49bf0a283de47bc1230131ad95e29d7 |