lava-lab
Simple Lava lab recipe to generate a basic Lava lab instance with four Qemu devices
The instance is composed of docker containers, a lava-server (lava_server), lava-dispatcher (lava_worker0) and a file-server (fileserver). - The lava-server (master) shcedules the test jobs, administers devices ands stores the results - The lava-dispatcher (worker) deploys software (images) on connected devices, and processes the test jobs - The file-server store artifacts (e.g. images to test, test templates, etc...)
--------------------------------------------------- Network
| | |
------------- -------------- ------------
| | | | | |
| lava_server | | lava_worker0 | | fileserver |
| | | | | |
------------- -------------- ------------
| | |
| | |
| | |
[qemu01][qemu02][imx8-dm280}
Prerequisite
- docker
- docker-compose
Init/Update repo
git clone -b master --single-branch https://git.linaro.org/people/loic.poulain/lava-lab.git
cd lava-lab
git submodule update --init
Create and Start instance
make
or if your user is not part of docker
group:
sudo make
Play
If you run command locally you can then access the Lava web user interface at localhost:8042 Since this instance defines a Qemu device and Qemu health-check job, you will see the health check job scheduled and executed.
That's all! you can now submit your own jobs (https://validation.linaro.org/static/docs/v2/explain_first_job.html)
Advanced
Makefile
Makefile is mainly a docker wrapper, following helpers are available:
make run
Build and execute instance.
make start
Build and launch instance (detached from terminal)
make stop
Stop a previoulsy started instance.
make clean
Stop and remove instance
Customize instance
Everything takes place in docker-compose.yaml file