Linaro Validation
Linaro Validation
Engineering units
Optimization Optimization& &Innovation Innovation SoC SoCsupport supportand and optimization optimization
Working Groups
Kernel KernelConsolidation Consolidation Toolchain Toolchain Graphics Graphics Power PowerManagement Management Multimedia Multimedia
:
Platform Engineering
Validation & Benchmarking
Evaluation Builds
Android, Ubuntu, Chrome, IVI
Infrastructure
Release management
Ubuntu Desktop Linaro image based on Ubuntu Desktop Nano - small lightweight image for board validation Developer - focused image with console based developer tools. ALIP - (ARM Linux Internet Platorm) minimal X based image for internet access Others Android
Goals
Deploy Linaro images across a variety of supported devices, without user intervention Make no assumptions about whether networking works or not Control the boot process Keep a good, recovery image Recover from hangs and crashes without manual intervention Monitor and retain serial log Execute tests and store results
LAVA Components
Architecture Overview
LAVA Components
Driver
Continuous integration (jenkins, buildbot, etc) Image build system (offspring) Android build system
Decide on tests to run based on input stream Submit templated jobs to the Scheduler
LAVA Components
Scheduler
Django app Web UI for human job creation XML-RPC interface for CLI job and automated job submission Support pools of similar hardware
Schedule to pool or to a specific device
Scheduler Daemon
Process Job Queue Launch dispatchers Handle job (in)completion Handle job timeouts
LAVA Components
Job Dispatcher
Jobs defined in json job_name description of the job timeout how long, at most, should it take target which machine to run on actions [...]
Actions
deploy_linaro_image
install_abrek
boot_linaro_image test_abrek
submit_results
Test Execution
Abrek
Lightweight, simple test execution framework Modular, extensible Interfaces with the dashboard Test definition tells abrek how to:
Install (with dependencies) Execute Parse results
Abrek Testsuites
Stream LTP Open Posix Test Suite gmpbench gtkperf x11perf glmemperf tiobench qgears es2gears clutter-eglx-es20 renderbench glmark2-es2 Unixbench GCC/Toolchain tests
Peacekeeper Canvas Benchmark GUIMark2 Biolab Disaster Monster Bbench v1.0 v8 quake3 coremark sunspider pybench qa-regression-testing LSB Moonbat
Master Image
Deployment
On the server:
Download hwpack and rootfs Use linaro-media-create to create image Extract tarball of boot and root fs Boot to master image Reformat test partitions wget/untar boot and root tarballs Reboot
Test Execution
Abrek Simple interface for installing/running tests, and dealing with results Works with launch-control (our dashboard for storing/visualizing results) Other tests and execution frameworks could easily be supported
LAVA Components
Dashboard
Django XML-RPC Well-defined, versioned, JSON bundle submissions Basic or OpenID authentication Supports text or binary attachments CLI interface (lc-tool)
Backup/Restore Sync/transfer to another system Data source definition in XML Flexible reporting
Lab Hardware
TI PandaBoard (2) TI Beagle XM Samsung SMDK v310 Freescale imx51 Freescale imx53 STE u8500 (2) Versatile Express (2) ...many more on the way :)
Gratuitous Pictures
Thank You
Any questions?