Linaro Test and
Validation Summit
Linaro Engineering Teams
LCE13 - Dublin, July 2013
How Do We Better Test our Engineering
PART 1: Linaro Platform
Overview
LAVA
Citius,Altius,Fortius
"Faster,Higher,Stronger"
Builds&CI
BuildYourCodeWhenYou
areNotLooking
QAServices
Coverallbases
PART 2: Linaro Engineering
KernelDevelopers
&Maintainers
LandingTeams LinaroGroups
LEG/LNG
(DotheyuseCI? Manual orAutomatedTesting?)*Howdotheyvalidate/verifytheiroutput?
*What/howdotheydevelop?
&easiertouse
Agenda (Tuesday, 9am-1pm
Time Topic Speaker
9:00 Introduction (Dev, Test, Loop) Alan Bennett
9:15 Overview of the CI loop (25 min) Fathi Boudra
9:40 QA services (20 min) Milosz Wasilewski
10:00 Recent LAVA updates (45 min) Antonio Terceiro
10:45 BREAK
11:00 LNG Mike Holmes
11:30 Landing Teams Scott Bambrough
12:00 KWG PM Kevin Hilman
12:30 LEG Grant Likely
PlatformUpdates
technicaldetails
Preface
Why is the Quality of Linaro Engineering so important?
Preface
Why is the Quality of Linaro Engineering so important?
● applying continuous
quality control
● frequent integration of
small pieces of software
● rapid feedback
● Extreme programming (XP)
○ minimize integration
problems
● Shared code repositories
● daily commits
● automated build systems
● extensive unit tests
● testing in cloned
production environments
Highlights of Continuous Integration
Preface
Continuous Integration
CI Loop
C
hanges
M
ade
Autom
ated
Build
TestR
eport/
Feedback
Test
Source
Control
System
Build
Testing
Development
Linaro Test and
Validation Summit
Fathi Boudra
Builds and Baselines
LCE13 - Dublin, July 2013
How Do We Better Test our Engineering
● CI Present
○ Anatomy of CI loop
● CI Future
○ What is on the CI roadmap
Overview
● Get the source
○ Source code is under SCM
■ Git (git.linaro.org)
■ Bazaar (bazaar.launchpad.net)
● Build the code
○ Use a build system
■ Jenkins (ci.linaro.org and android-build.linaro.
org)
■ LAVA (yes, LAVA can be used!!!)
● Publish the build results
○ Build artifacts are available (snapshots.linaro.org)
Anatomy of CI loop
● Submit the results for testing
○ LAVA (validation.linaro.org)
● Get the tests results
○ E-mail notifications with filters (validation.linaro.
org/lava-server/dashboard/filters)
○ LAVA dashboard (validation.linaro.org/lava-
server/dashboard)
Anatomy of CI loop
● Different type of jobs
○ Kernel CI
○ Engineering builds
○ Components
● Build triggers
○ manual, periodically, URL trigger, post-commit
● Do the build
○ shell script(s)
■ can be maintained under SCM (linux-preempt-rt)
○ Groovy script(s)
● Publish
○ to snapshots.linaro.org
○ to package repositories (PPA, other)
Build jobs in depth
● Submit to LAVA
○ Generate a LAVA job file (json)
○ test definitions are pulled from SCM (git.linaro.
org/gitweb?p=qa/test-definitions.git)
● Misc
○ Jenkins can run unit tests (e.g qemu-ltp job)
■ junit
■ xunit
○ CI helpers
■ post-build-lava
■ post-build-ppa
■ Linaro CI build tools
Build jobs in detail
● LAVA CI Runtime
○ LAVA as a build system
● LAVA Publishing API
○ LAVA ability to publish artifacts on remote host
● Build time optimization
○ persistent slaves
○ mirrors and caching
● Better documentation
CI Future
Any Questions?
Q&A
Linaro Test and
Validation Summit
Milosz Wasilewski
QA Services
LCE13 - Dublin, July 2013
How Do We Better Test our Engineering
QA Services
Tasks:
● manual testing
● dashboard monitoring
● reporting
● porting tests to LAVA
Manual Testing
Current approach:
● test results are not very detailed
● no connection between test case description and result sheet
● results stored in google spreadsheet
● bug linking done manually (makes it hard to extract the list of 'known
issues')
Future:
● store test cases in some better suited place than wiki
● preserve test case change history
● store manual test results along automatic ones (in LAVA)
● have ability to link bugs from various tracking systems to failed cases (in
LAVA)
● generate reports easily (known issues, fixed problems, etc.)
○ might be done using LAVA if there is an easy way to extract testing
results (for example REST API)
Manual Testing
● Monitoring dashboard
○ adding bugs
○ debugging failed runs
● Creating custom dashboards
○ Dashboard from filter
○ No need to edit python code to create/edit dashboard
○ Private/public dashboards
○ Dashboard email notification (falls in the concept of filter-as-dashboard
approach)
Dashboards
● Use only binaries that were already automatically tested
● Don't repeat automated tests in manual run (we have to be confident that
automated results are reliable)
Release workflow
LAVA: Faster, Higher,
Stronger (& easier to use)
Antonio Terceiro
LAVA
LCE13 - Dublin, July 2013
Test and Validation Summit
● Improvements
● New testing capabilities
● Engineering Progress Overview
● What are we missing?
○ Open Discussion
○ We want to hear from you
Overview
● ~90 ARM devices
● ~300 ARM CPUs
● ~150 jobs submitted per day
● ~99% reliability
Context (0): the size of LAVA, today
● LAVA started as an in-house solution
● Open source since day 1
● Other organizations (incl. Linaro members)
interested in running their own LAVA lab
We need to go from an in-house service to a
solid product
Context (1)
● No bootloader testing
● Tests only involve single devices
We need to provide features to support new
demands in test and validation
Context (2)
Improvements
● Queue size monitored with munin
● Nagios monitoring all sorts of things (e.g.
temperature on Calxeda highbank nodes)
● Health check failures
Monitoring
Easing LAVA installation
● Effort on proper upstream packaging so that
packages for any (reasonable) OS can be
easily made
● WIP on Debian and Fedora packaging
$ apt-get install lava-server
$ yum install lava-server
Packaging enhancements
Easing LAVA learning
● Documentation is
○ scattered
○ outdated
○ confusing
Documentation overhaul is in the LAVA
roadmap.
Documentation overhaul
Easing LAVA usage
ATM a lava-test-shell job requires
● 1 JSON job file
● 1 YAML test definition file
● + the test code itself
$ sudo apt-get install lava-tool
$ lava script submit mytestscript.sh
$ lava job list
LAVA test suite helper tool
Getting more out of LAVA data
More information out of LAVA data
● Improvements in test results visualization in
the LAVA dashboard
LCE13: Test and Validation Summit: Evolution of Testing in Linaro (II)
LAVA is too hard to develop
● Too many separate components
○ Also a mess for bug/project management
● Requires almost a full deployment for
development
● Consolidated client components (3 to 1)
● Will consolidate server components (3+ to 1)
Developer-friendliness
New testing capabilities
● LAVA Multi-purpose Probe
● 1 base design, 5 boards now
● USB serial connection(s) to the host
● management of other connections to/from
devices under test
LMP
● prototype sets manufactured and under test
● Use cases: ethernet hotplug, SATA hotplug,
HDMI hotplug and EDID faking, USB OTG
testing, USB mux (sort of), lsgpio, audio
hotplug, SD-Mux for bootloader testing
LMP (2)
LCE13: Test and Validation Summit: Evolution of Testing in Linaro (II)
LMP (3) - how it works (e.g. SD-MUX)
DUT
SDC1
Host
LMP
USB serialUSB MSD
Multi-node testing (1)
● Schedule jobs across multiple target devices
○ Client-server, peer-to-peer and other scenarios
● Combine multiple results into a single result
● LAVA will provide a generic interface, test
writers can program any tests they need.
○ (special hardware setups possible but need to be
handled case-by-case)
Other sessions:
● LAVA multi-node testing on Thursday
● LNG multi-node use-cases on Friday
Multi-node testing (2)
● Logistics challenge!
● We might end up needing 20 of every device
type in the lab
● Need to manage the needed growth in the
lab in a sensible way
Other projects
● Lightweight interface for kernel developers
● Boot from test UEFI on all Versatile Express
boards
● Support for new member boards
Overview of Engineering
Progress
In Progress
● LAVA LMP
● Multi-node testing
● Helper tool
● Test result visualization
improvements
● Lightweigth interface for
kernel devs
● UEFI on V. Express
● Support for new member
boards
In Progress X Planned
Planned (for soon)
● Server components
consolidation
● QA improvements
● Doc overhaul
LCE13: Test and Validation Summit: Evolution of Testing in Linaro (II)
Open Discussion
● What is your experience getting started with
LAVA?
● What would have made your experience
easier?
● Any suggestions to the LAVA team? Let us
know!
● Feedback about the image reports revamp?
Seed Questions
LCE13: Test and Validation Summit: Evolution of Testing in Linaro (II)

More Related Content

PDF
BKK16-106 ODP Project Update
PDF
BKK16-210 Migrating to the new dispatcher
PDF
BKK16-207 VLANd in LAVA
PDF
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
PDF
SFO15-102:ODP Project Update
PDF
LCU14 310- Cisco ODP v2
PDF
Kernel Recipes 2018 - 10 years of automated evolution in the Linux kernel - J...
PDF
Kernel Recipes 2018 - Live (Kernel) Patching: status quo and status futurus -...
BKK16-106 ODP Project Update
BKK16-210 Migrating to the new dispatcher
BKK16-207 VLANd in LAVA
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
SFO15-102:ODP Project Update
LCU14 310- Cisco ODP v2
Kernel Recipes 2018 - 10 years of automated evolution in the Linux kernel - J...
Kernel Recipes 2018 - Live (Kernel) Patching: status quo and status futurus -...

What's hot (20)

PDF
BKK16-111 Tunables: The Future of Platform Optimization Selection in glibc
PDF
HKG15-301: OVS implemented via ODP & vendor SDKs
PDF
HKG15-110: ODP Project Update
PDF
SFO15-110: Toolchain Collaboration
PDF
Kernel Recipes 2018 - A year of fixing Coverity issues all over the Linux ker...
PDF
BKK16-306 ART ii
PDF
BKK16-203 Irq prediction or how to better estimate idle time
PDF
BUD17-218: Scheduler Load tracking update and improvement
PDF
HKG15-300: Art's Quick Compiler: An unofficial overview
PDF
Large scale overlay networks with ovn: problems and solutions
PDF
LAS16-TR02: Upstreaming 101
PDF
Learn more about the tremendous value Open Data Plane brings to NFV
PPTX
Cinder Project On-Boarding - OpenInfra Summit Denver 2019
PDF
LCA14: LCA14-209: ODP Project Update
PDF
Sfo15 408- odp-dpdk platform performance
PDF
RDO and Ceph meetup BCN - Testing in RDO
PDF
BKK16-411 Devicetree Specification
PDF
Las16 309 - lua jit arm64 port - status
PPTX
How to jSparrow Jenkins?
PDF
BUD17-405: Building a reference IoT product with Zephyr
BKK16-111 Tunables: The Future of Platform Optimization Selection in glibc
HKG15-301: OVS implemented via ODP & vendor SDKs
HKG15-110: ODP Project Update
SFO15-110: Toolchain Collaboration
Kernel Recipes 2018 - A year of fixing Coverity issues all over the Linux ker...
BKK16-306 ART ii
BKK16-203 Irq prediction or how to better estimate idle time
BUD17-218: Scheduler Load tracking update and improvement
HKG15-300: Art's Quick Compiler: An unofficial overview
Large scale overlay networks with ovn: problems and solutions
LAS16-TR02: Upstreaming 101
Learn more about the tremendous value Open Data Plane brings to NFV
Cinder Project On-Boarding - OpenInfra Summit Denver 2019
LCA14: LCA14-209: ODP Project Update
Sfo15 408- odp-dpdk platform performance
RDO and Ceph meetup BCN - Testing in RDO
BKK16-411 Devicetree Specification
Las16 309 - lua jit arm64 port - status
How to jSparrow Jenkins?
BUD17-405: Building a reference IoT product with Zephyr
Ad

Viewers also liked (8)

PDF
Orestone corporate-presentation
PPT
Srw presentation-july-2013
PDF
de Doelen 2010/2011 Klassiek
PPTX
PNG 491
PDF
ODP
Undía en el zoo
PPTX
2011 Resolution - CRM overhaul
PDF
Orestone corporate-presentation
Srw presentation-july-2013
de Doelen 2010/2011 Klassiek
PNG 491
Undía en el zoo
2011 Resolution - CRM overhaul
Ad

Similar to LCE13: Test and Validation Summit: Evolution of Testing in Linaro (II) (20)

PDF
LCE13: Test and Validation Summit: The future of testing at Linaro
PDF
LCA13: LAVA Workshop Day 1: Introduction
PDF
01 lava introduction-and-updates-(dave-milo)1
PDF
LCA13: Android Infrastructure Automation Improvements
PDF
LCA13: LAVA and CI Component Review
PDF
BKK16-213 Where's the Hardware?
PDF
Q4.11: Getting Started in LAVA
PDF
LCE13: LAVA Multi-Node Testing
PDF
HKG18-TR12 - LAVA for LITE Platforms and Tests
PDF
LCE13: LCE13 Survival Guide
PDF
SFO15-203: Linaro CI - git driven workflow & Jenkins advanced usage
PDF
Kernelci.org needs you!
PDF
LCA14: LCA14-418: Testing a secure framework
PDF
LCA13: Connect Survival Guide
PDF
LAS16-507: LXC support in LAVA
PDF
20141111_SOS3_Gallo
PPTX
Tuenti Release Workflow
PDF
Kernel Recipes 2017 - Testing on device with LAVA - Olivier Crête
PDF
LAS16-211: Using LAVA V2 for advanced KVM testing
PDF
Accelerated Android Development with Linaro
LCE13: Test and Validation Summit: The future of testing at Linaro
LCA13: LAVA Workshop Day 1: Introduction
01 lava introduction-and-updates-(dave-milo)1
LCA13: Android Infrastructure Automation Improvements
LCA13: LAVA and CI Component Review
BKK16-213 Where's the Hardware?
Q4.11: Getting Started in LAVA
LCE13: LAVA Multi-Node Testing
HKG18-TR12 - LAVA for LITE Platforms and Tests
LCE13: LCE13 Survival Guide
SFO15-203: Linaro CI - git driven workflow & Jenkins advanced usage
Kernelci.org needs you!
LCA14: LCA14-418: Testing a secure framework
LCA13: Connect Survival Guide
LAS16-507: LXC support in LAVA
20141111_SOS3_Gallo
Tuenti Release Workflow
Kernel Recipes 2017 - Testing on device with LAVA - Olivier Crête
LAS16-211: Using LAVA V2 for advanced KVM testing
Accelerated Android Development with Linaro

More from Linaro (20)

PDF
Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
PDF
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
PDF
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
PDF
Bud17 113: distribution ci using qemu and open qa
PDF
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
PDF
HPC network stack on ARM - Linaro HPC Workshop 2018
PDF
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
PDF
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
PDF
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
PDF
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
PDF
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
PDF
HKG18-100K1 - George Grey: Opening Keynote
PDF
HKG18-318 - OpenAMP Workshop
PDF
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
PDF
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
PDF
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
PDF
HKG18-TR08 - Upstreaming SVE in QEMU
PDF
HKG18-113- Secure Data Path work with i.MX8M
PPTX
HKG18-120 - Devicetree Schema Documentation and Validation
PPTX
HKG18-223 - Trusted FirmwareM: Trusted boot
Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Bud17 113: distribution ci using qemu and open qa
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-100K1 - George Grey: Opening Keynote
HKG18-318 - OpenAMP Workshop
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-113- Secure Data Path work with i.MX8M
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-223 - Trusted FirmwareM: Trusted boot

Recently uploaded (20)

PPT
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Convolutional neural network based encoder-decoder for efficient real-time ob...
PPT
Module 1.ppt Iot fundamentals and Architecture
PPTX
The various Industrial Revolutions .pptx
PPTX
Modernising the Digital Integration Hub
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
Architecture types and enterprise applications.pdf
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
OpenACC and Open Hackathons Monthly Highlights July 2025
PDF
Credit Without Borders: AI and Financial Inclusion in Bangladesh
DOCX
search engine optimization ppt fir known well about this
PPTX
2018-HIPAA-Renewal-Training for executives
PDF
UiPath Agentic Automation session 1: RPA to Agents
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PPTX
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PPTX
Chapter 5: Probability Theory and Statistics
PPT
What is a Computer? Input Devices /output devices
PDF
Getting started with AI Agents and Multi-Agent Systems
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
A comparative study of natural language inference in Swahili using monolingua...
Convolutional neural network based encoder-decoder for efficient real-time ob...
Module 1.ppt Iot fundamentals and Architecture
The various Industrial Revolutions .pptx
Modernising the Digital Integration Hub
sustainability-14-14877-v2.pddhzftheheeeee
Architecture types and enterprise applications.pdf
Hindi spoken digit analysis for native and non-native speakers
OpenACC and Open Hackathons Monthly Highlights July 2025
Credit Without Borders: AI and Financial Inclusion in Bangladesh
search engine optimization ppt fir known well about this
2018-HIPAA-Renewal-Training for executives
UiPath Agentic Automation session 1: RPA to Agents
Taming the Chaos: How to Turn Unstructured Data into Decisions
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
Chapter 5: Probability Theory and Statistics
What is a Computer? Input Devices /output devices
Getting started with AI Agents and Multi-Agent Systems

LCE13: Test and Validation Summit: Evolution of Testing in Linaro (II)

  • 1. Linaro Test and Validation Summit Linaro Engineering Teams LCE13 - Dublin, July 2013 How Do We Better Test our Engineering
  • 2. PART 1: Linaro Platform Overview LAVA Citius,Altius,Fortius "Faster,Higher,Stronger" Builds&CI BuildYourCodeWhenYou areNotLooking QAServices Coverallbases PART 2: Linaro Engineering KernelDevelopers &Maintainers LandingTeams LinaroGroups LEG/LNG (DotheyuseCI? Manual orAutomatedTesting?)*Howdotheyvalidate/verifytheiroutput? *What/howdotheydevelop? &easiertouse
  • 3. Agenda (Tuesday, 9am-1pm Time Topic Speaker 9:00 Introduction (Dev, Test, Loop) Alan Bennett 9:15 Overview of the CI loop (25 min) Fathi Boudra 9:40 QA services (20 min) Milosz Wasilewski 10:00 Recent LAVA updates (45 min) Antonio Terceiro 10:45 BREAK 11:00 LNG Mike Holmes 11:30 Landing Teams Scott Bambrough 12:00 KWG PM Kevin Hilman 12:30 LEG Grant Likely PlatformUpdates technicaldetails
  • 4. Preface Why is the Quality of Linaro Engineering so important?
  • 5. Preface Why is the Quality of Linaro Engineering so important?
  • 6. ● applying continuous quality control ● frequent integration of small pieces of software ● rapid feedback ● Extreme programming (XP) ○ minimize integration problems ● Shared code repositories ● daily commits ● automated build systems ● extensive unit tests ● testing in cloned production environments Highlights of Continuous Integration Preface Continuous Integration
  • 8. Linaro Test and Validation Summit Fathi Boudra Builds and Baselines LCE13 - Dublin, July 2013 How Do We Better Test our Engineering
  • 9. ● CI Present ○ Anatomy of CI loop ● CI Future ○ What is on the CI roadmap Overview
  • 10. ● Get the source ○ Source code is under SCM ■ Git (git.linaro.org) ■ Bazaar (bazaar.launchpad.net) ● Build the code ○ Use a build system ■ Jenkins (ci.linaro.org and android-build.linaro. org) ■ LAVA (yes, LAVA can be used!!!) ● Publish the build results ○ Build artifacts are available (snapshots.linaro.org) Anatomy of CI loop
  • 11. ● Submit the results for testing ○ LAVA (validation.linaro.org) ● Get the tests results ○ E-mail notifications with filters (validation.linaro. org/lava-server/dashboard/filters) ○ LAVA dashboard (validation.linaro.org/lava- server/dashboard) Anatomy of CI loop
  • 12. ● Different type of jobs ○ Kernel CI ○ Engineering builds ○ Components ● Build triggers ○ manual, periodically, URL trigger, post-commit ● Do the build ○ shell script(s) ■ can be maintained under SCM (linux-preempt-rt) ○ Groovy script(s) ● Publish ○ to snapshots.linaro.org ○ to package repositories (PPA, other) Build jobs in depth
  • 13. ● Submit to LAVA ○ Generate a LAVA job file (json) ○ test definitions are pulled from SCM (git.linaro. org/gitweb?p=qa/test-definitions.git) ● Misc ○ Jenkins can run unit tests (e.g qemu-ltp job) ■ junit ■ xunit ○ CI helpers ■ post-build-lava ■ post-build-ppa ■ Linaro CI build tools Build jobs in detail
  • 14. ● LAVA CI Runtime ○ LAVA as a build system ● LAVA Publishing API ○ LAVA ability to publish artifacts on remote host ● Build time optimization ○ persistent slaves ○ mirrors and caching ● Better documentation CI Future
  • 16. Linaro Test and Validation Summit Milosz Wasilewski QA Services LCE13 - Dublin, July 2013 How Do We Better Test our Engineering
  • 17. QA Services Tasks: ● manual testing ● dashboard monitoring ● reporting ● porting tests to LAVA
  • 18. Manual Testing Current approach: ● test results are not very detailed ● no connection between test case description and result sheet ● results stored in google spreadsheet ● bug linking done manually (makes it hard to extract the list of 'known issues')
  • 19. Future: ● store test cases in some better suited place than wiki ● preserve test case change history ● store manual test results along automatic ones (in LAVA) ● have ability to link bugs from various tracking systems to failed cases (in LAVA) ● generate reports easily (known issues, fixed problems, etc.) ○ might be done using LAVA if there is an easy way to extract testing results (for example REST API) Manual Testing
  • 20. ● Monitoring dashboard ○ adding bugs ○ debugging failed runs ● Creating custom dashboards ○ Dashboard from filter ○ No need to edit python code to create/edit dashboard ○ Private/public dashboards ○ Dashboard email notification (falls in the concept of filter-as-dashboard approach) Dashboards
  • 21. ● Use only binaries that were already automatically tested ● Don't repeat automated tests in manual run (we have to be confident that automated results are reliable) Release workflow
  • 22. LAVA: Faster, Higher, Stronger (& easier to use) Antonio Terceiro LAVA LCE13 - Dublin, July 2013 Test and Validation Summit
  • 23. ● Improvements ● New testing capabilities ● Engineering Progress Overview ● What are we missing? ○ Open Discussion ○ We want to hear from you Overview
  • 24. ● ~90 ARM devices ● ~300 ARM CPUs ● ~150 jobs submitted per day ● ~99% reliability Context (0): the size of LAVA, today
  • 25. ● LAVA started as an in-house solution ● Open source since day 1 ● Other organizations (incl. Linaro members) interested in running their own LAVA lab We need to go from an in-house service to a solid product Context (1)
  • 26. ● No bootloader testing ● Tests only involve single devices We need to provide features to support new demands in test and validation Context (2)
  • 28. ● Queue size monitored with munin ● Nagios monitoring all sorts of things (e.g. temperature on Calxeda highbank nodes) ● Health check failures Monitoring
  • 29. Easing LAVA installation ● Effort on proper upstream packaging so that packages for any (reasonable) OS can be easily made ● WIP on Debian and Fedora packaging $ apt-get install lava-server $ yum install lava-server Packaging enhancements
  • 30. Easing LAVA learning ● Documentation is ○ scattered ○ outdated ○ confusing Documentation overhaul is in the LAVA roadmap. Documentation overhaul
  • 31. Easing LAVA usage ATM a lava-test-shell job requires ● 1 JSON job file ● 1 YAML test definition file ● + the test code itself $ sudo apt-get install lava-tool $ lava script submit mytestscript.sh $ lava job list LAVA test suite helper tool
  • 32. Getting more out of LAVA data More information out of LAVA data ● Improvements in test results visualization in the LAVA dashboard
  • 34. LAVA is too hard to develop ● Too many separate components ○ Also a mess for bug/project management ● Requires almost a full deployment for development ● Consolidated client components (3 to 1) ● Will consolidate server components (3+ to 1) Developer-friendliness
  • 36. ● LAVA Multi-purpose Probe ● 1 base design, 5 boards now ● USB serial connection(s) to the host ● management of other connections to/from devices under test LMP
  • 37. ● prototype sets manufactured and under test ● Use cases: ethernet hotplug, SATA hotplug, HDMI hotplug and EDID faking, USB OTG testing, USB mux (sort of), lsgpio, audio hotplug, SD-Mux for bootloader testing LMP (2)
  • 39. LMP (3) - how it works (e.g. SD-MUX) DUT SDC1 Host LMP USB serialUSB MSD
  • 40. Multi-node testing (1) ● Schedule jobs across multiple target devices ○ Client-server, peer-to-peer and other scenarios ● Combine multiple results into a single result ● LAVA will provide a generic interface, test writers can program any tests they need. ○ (special hardware setups possible but need to be handled case-by-case) Other sessions: ● LAVA multi-node testing on Thursday ● LNG multi-node use-cases on Friday
  • 41. Multi-node testing (2) ● Logistics challenge! ● We might end up needing 20 of every device type in the lab ● Need to manage the needed growth in the lab in a sensible way
  • 42. Other projects ● Lightweight interface for kernel developers ● Boot from test UEFI on all Versatile Express boards ● Support for new member boards
  • 44. In Progress ● LAVA LMP ● Multi-node testing ● Helper tool ● Test result visualization improvements ● Lightweigth interface for kernel devs ● UEFI on V. Express ● Support for new member boards In Progress X Planned Planned (for soon) ● Server components consolidation ● QA improvements ● Doc overhaul
  • 47. ● What is your experience getting started with LAVA? ● What would have made your experience easier? ● Any suggestions to the LAVA team? Let us know! ● Feedback about the image reports revamp? Seed Questions