The LAVA documentation is continually expanding and improving. This is the overview to help you know where to look for particular help.
First steps using LAVA - if you are a new user of LAVA V2 and looking to submit tests an an existing instance, start here.
First steps installing LAVA - if you are starting with a fresh installation or running your own instance, start here.
CI with LAVA - this section explains the design goals of LAVA and how to use it best as part of a complete CI system.
Writing tests for LAVA - this guide takes you through how to design, write and debug the tests to be run using LAVA. Worked examples are included for a range of deployments and test methods.
Results in LAVA - LAVA provides a generic view of test results. This guide covers how to use those results directly, and also how to export results data from LAVA to make it more useful.
LAVA administration guide - this guide steps through the complex task of administering a LAVA instance, from a single emulated device to a large test lab with dozens of devices.
Migrating to V2 - documentation to help users migrating a lab and its devices from LAVA V1 to V2.
LAVA Software Community Project Contribution Guide - LAVA is developed in the open, and contributions are welcome from the community. This guide introduces the code structure and design requirements as well as how to contribute patches for review.
LAVA device integration guide - the most complex part of LAVA is integrating a new device type. You should already have a local LAVA instance which has successfully run a large number of tests on more than one known device-type.
Context help - some pages in the UI have a
Helplink in the context-menu section at the top of the page. These pages are listed in this section for reference and easier navigation.
Glossary of terms - descriptions of terms which have particular meanings inside LAVA.
First steps using LAVA¶
First steps installing LAVA¶
Writing tests for LAVA¶
- Writing Tests
- Writing a Lava-Test Test Definition 1.0
- Best practices for writing a LAVA test job
- Test definitions in version control
- Lava-Test Test Definition 1.0
- Quick start to Test Definition 1.0
- Deprecated elements
- Publishing artifacts
- Writing a monitors test action
- Writing an interactive test action
- Combining different test actions
- Writing Health Checks for devices
- LAVA Hacking Sessions
- QEMU options
- Media limitations of test devices
- Dispatcher Action Reference
- Deploying test images using LXC
- MultiNode LAVA
- Writing MultiNode tests
- MultiNode API
- VLANd support in LAVA test jobs
- Debugging LAVA test failures
- Advanced Use Cases
- Using Jinja2 to generate LAVA test job submissions
Results in LAVA¶
LAVA administration guide¶
- Simple Administration
- User permissions and authorization
- Creating Backups
- Restoring a master from a backup
- Restoring a worker from backups
- Advanced Installation Topics
- Enabling Secondary Media
- Growing your lab
- Setting up a LAVA instance
- Understanding the Pipeline - an administrator guide
- Device types
- Device Capabilities Support
- Hidden device types
- Building and manipulating images for your devices
- Deploying LXC devices
- Deploying an ipmi/pxe-boot Device
- Deploying an iPXE (x86) device
- HTTP proxies
- Using the HTTP proxy
- Using the HTTP cache
- Handling bots
- Administering VLANd support in LAVA
- Administrator debugging
- Administering LAVA using Docker
- Official LAVA Software Docker images
LAVA Software Community Project Contribution Guide¶
- LAVA Software Community Project Code of Conduct
- LAVA Software Project Contribution - Introduction
- LAVA Software Community Project Contribution Guide
- Naming conventions and LAVA architecture
- LAVA review criteria
- Guide to development within LAVA
- Development process
- LAVA development
- Pipeline Design
- Lava Dispatcher Design
- Writing YAML job submission files
- LAVA schema
- Testing the design
- Developing LAVA on Debian
- Packaging lava-server for distributions
- Developing new classes for LAVA V2
- State machine
- Functional testing of LAVA source code