Simple Lava lab recipe to generate a basic Lava lab instance with a Qemu device
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 |
| | | | | |
------------- -------------- ------------
|
|
|
[qemu-devices]
- docker
- docker-compose
git clone -b master --single-branch https://github.com/ci-box/lava-lab.git
cd lava-lab
git submodule update --init
make
or if your user is not part of docker
group:
sudo make
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)
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
Everything takes place in docker-compose.yaml file