LCE13: LAVA - Introduction and Updates

15
LAVA@LCE13 - Schedule Monday LAVA Introduction & update - Dave & Milo LAVA Lab Deployment Workshop - Matt, Senthil & James Tuesday Test & Validation Summit - How do we better test our engineering? LAVA: Faster, Higher, Stronger (& easier to use) Wednesday Afternoon Hacking Sessions Thursday LAVA Multi-node testing - Antonio, Neil, Senthil, James & Fu Wei Advanced LAVA Lab Configuration - Tyler and Georgy Training: Adding 3rd Party Boards into LAVA - Senthil & Tyler Friday Infrastructure update - Paul, James & Philip LAVA Multi-node testing: LNG Use Cases Demo Friday

description

Resource: LCE13 Name: LAVA - Introduction and Updates Date: 08-07-2013 Speaker: Dave, Milo Video: http://youtu.be/gHrHqr6W80w

Transcript of LCE13: LAVA - Introduction and Updates

Page 1: LCE13: LAVA - Introduction and Updates

LAVA@LCE13 - Schedule

Monday● LAVA Introduction & update - Dave & Milo● LAVA Lab Deployment Workshop - Matt, Senthil & James

Tuesday● Test & Validation Summit - How do we better test our engineering?

○ LAVA: Faster, Higher, Stronger (& easier to use)Wednesday● Afternoon Hacking Sessions

Thursday● LAVA Multi-node testing - Antonio, Neil, Senthil, James & Fu Wei● Advanced LAVA Lab Configuration - Tyler and Georgy● Training: Adding 3rd Party Boards into LAVA - Senthil & Tyler

Friday● Infrastructure update - Paul, James & Philip● LAVA Multi-node testing: LNG Use Cases● Demo Friday

Page 2: LCE13: LAVA - Introduction and Updates

LAVA Introduction

Dave PigottMilo Casagrande

LCE13 - Dublin, July 2013

Introduction to LAVA and Updates

Page 3: LCE13: LAVA - Introduction and Updates

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!"

Page 4: LCE13: LAVA - Introduction and Updates

LAVA - What is it?

The Linaro Automated Validation ArchitectureA framework...● for testing software on

hardware● that accepts "jobs" to perform

on selected hardware● that produces result bundlesA black box to CI...● all devices have the same

LAVA interfaceA cloud like solution...● for ARM devicesLAVA itself is an enabler - we do not define what can be run

Page 5: LCE13: LAVA - Introduction and Updates

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

Page 6: LCE13: LAVA - Introduction and Updates

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

Page 7: LCE13: LAVA - Introduction and Updates

LAVA - Workflow

LAVA http front endCheck job validity and reject if not

possible or bad syntax

LAVA SchedulerWait for appropriate resource to

Become available

Daemon

Submit jobDefine in JSON with YAML

Manual or automated submission

LAVA DispatcherOn demand

Control platform over serial lineTest Platform

(Boot master image)

Deploy test image

Install tests on test image

Boot test image

Run tests

Submit resultsDatabase

LAVA DashboardView jobs, results, boards

Web GUI

Page 8: LCE13: LAVA - Introduction and Updates

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

Page 9: LCE13: LAVA - Introduction and Updates

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

Page 10: LCE13: LAVA - Introduction and Updates

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%

Page 11: LCE13: LAVA - Introduction and Updates

● 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?

Page 12: LCE13: LAVA - Introduction and Updates

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

Page 13: LCE13: LAVA - Introduction and Updates

LAVA - Conclusion

● LAVA usage is growing● LAVA interest is growing● LAVA lab is expanding● LAVA Roadmap is very full and very exciting

Page 14: LCE13: LAVA - Introduction and Updates
Page 15: LCE13: LAVA - Introduction and Updates

LAVA - Lab Usage