3. LAVA - Who is LAVA?
LAVA team is
Diverse experience
● Embedded Systems
● Kernel Development
● Web Frameworks
● Information Systems
● Integration Test
Geographically Distributed
● ~13 Members
● 8 timezones
● 10 Countries
Our team motto:
"The only place in the world where
LAVA is cool!"
4. LAVA - What is it?
The Linaro Automated Validation
Architecture
A framework...
● for testing software on
hardware
● that accepts "jobs" to perform
on selected hardware
● that produces result bundles
A black box to CI...
● all devices have the same
LAVA interface
A cloud like solution...
● for ARM devices
LAVA itself is an enabler - we do
not define what can be run
5. LAVA - Why LAVA?
● Validate Linaro
Engineering output
● Test Linaro Engineering
output on a diverse range
of member hardware
● Support automated kernel
testing
● Ensure a device can be
bricked, including the
bootloader, and
resurrected without
manual intervention
● No assumptions of special
capabilities
6. LAVA - What can I do with it?
● Submit jobs that will be
run on a selected device
with user selected
combination of kernel
and system image
● Snapshots and releases
● Run user selected and
defined tasks on that
image
● Can execute anything -
e.g. toolchain
submission - it's not just
about tests
7. LAVA - Workflow
LAVA http front end
Check job validity and reject if not
possible or bad syntax
LAVA Scheduler
Wait for appropriate resource to
Become available
Daemon
Submit job
Define in JSON with YAML
Manual or automated submission
LAVA Dispatcher
On
demand
Control platform over serial line
Test Platform
(Boot master image)
Deploy test image
Install tests on test image
Boot test image
Run tests
Submit resultsDatabase
LAVA Dashboard
View jobs, results, boards
Web GUI
8. LAVA - Manifestations
● LAVA as a service
● LAVA as a product
○ It's Open Source - PYC! (Push Your Changes)
● LAVA for developers - LAVA@home
● Easy deployment - lava-deployment-tool - packaging
9. LAVA - Lab Inventory
● 75 Devices online & ~300 ARM CPUs
○ 4 TI Beagleboards
○ 30 TI Panda 4430s
○ 14 TI Panda 4460s
○ 10 ST-Ericsson Snowball PDKs
○ 10 Samsung Origens
○ 4 Samsung Quad Core Origens
○ 5 Samsung Arndale boards
○ 2 ARM Versatile Express a9s
○ 1 ARM Versatile Express a5
○ 4 ARM Versatile Express TC2s
○ 2 Calxeda 96 CPU Servers
○ 1 Samsung Galaxy Nexus
○ 2 Beaglebone Black
○ 8 Fastmodels
○ 2 Broadcom Capri
○ 3 Nexus 10
○ Member only access
● Lots of other devices used for staging and
debugging
10. LAVA - Reliability
● Must be confident that if a job fails it is most likely the job and not
LAVA
● Health checks run once every 24 hours
● If a board fails it is automatically taken offline
● Reliability now ~99%
11. ● LAVA Lmp - LAVA Multi-purpose Probe"
○ The Holy Grail of automation"
● Bootloader testing with LAVA Lmp - sdmux
● Multi-node testing
● LEG and LNG server systems in the LAVA Lab
● LAVA Helper Tools
LAVA - What's new?
12. LAVA - What's coming?
● CI/LAVA Integration
○ A one stop shop for all automated testing
● Test on commit
○ Every commit in engineering
● x86 Double Check
13. LAVA - Conclusion
● LAVA usage is growing
● LAVA interest is growing
● LAVA lab is expanding
● LAVA Roadmap is very full and very exciting