SlideShare a Scribd company logo
ASIA 2013 (LCA13)
LAVA & CI Component Review
LAVA & Infrastructure teams
Current architecture by James, Danilo, Dave
●Source code (git, bzr)
●Builds (ci.linaro.org, android-build, cbuild, PPAs)
●Publishing (snapshots.linaro.org)
●Testing (LAVA)
●Data collection (android-build, LAVA dashboards...)
●Releasing (releases.linaro.org)
Ongoing changes by James
●Web interface scaled back to reporting only
●Job management by command line interface
●Job descriptions are Python scripts
●We provide the API and will adapt as needed.
●Jobs can be run locally as well as on the CI infrastructure
●Codify your workflow into a job
●Run the parts of a job you need (e.g. run build + test steps locally pre-
checkin without the checkout step).
Code hosting/Gerrit by Stevan
● Launchpad, git.linaro.org and android.git.linaro.org
● public and private repos, SSH keys auth
● gitweb for web interface
● gerrit integration for code review purposes http://review.
android.git.linaro.org
● future goals:
● http://cards.linaro.org/browse/CARD-148
● better ACL and privacy control
● LDAP sync
● Repo management over web (no SSH required)
● Rhodecode at https://staging.git.linaro.org/
Jenkins & ci.linaro.org by Stevan
●continuous integration with Jenkins
●perform dynamic, parameterized builds on EC2 cloud
●enables you to build and test your code submissions
●gcc, kernel, openembedded, etc..
●submits build results for LAVA testing
●how to request CI job, monitor build status, test results and
more can be found at https://wiki.linaro.
org/Platform/Infrastructure/LinaroCI
Android Build by Paul
●Builds Android platform, submits for testing to LAVA,
provides integrated display of results
●Jenkins-based system with custom frontend for scheduling
builds and displaying results
●Frontend is not very scalable and maintainable, but works
so far
●Most of issues with the system are due to Jenkins side of
things
●Possible improvement is migration to general CI solution
cbuild by Paul
●System for toolchain testing (gcc and other parts like libc's)
●Primary stakeholder: Toolchain WG
●Mostly separate from the rest of CI infra (implementation
predates general CI infra setup in Linaro)
●Does cross as well as native builds (native builds are what
differentiates it from other CI infra)
●Uses own ARM board pool, or more recently, LAVA
●LAVA is used as "dumb executor", better integration is
intended
●UI provides some advanced features (like diffing between
test results)
●At the same time, UI is that of internal tool - not easy to
learn or use
LAVA Scheduler by Antonio
●Web frontend:
●XMLRPC API: Receives job submissions from users and stores them
in the DB in Submitted state
●also provides views and reports for the lava-server Django app:
device status, job status and logs
●Daemon:
●multiple worker nodes
●polls the DB for jobs
●decides which device will run the job
●spawns dispatcher instance
●Plans
●add support for scheduling multi-device jobs
LAVA Dispatcher by Antonio
●Responsible for running jobs
●Designed as a one-shot CLI application:
●takes a job as input, runs the job in the given device, exits when
finished
●Needs to be changed when a new device type has to be
supported
●usually just adding a new class
●but not always so easy ;-)
●Plans
●running multi-device jobs
lava-test-shell by Senthil
●Part of the LAVA dispatcher
●Being pushed as the gold standard for writing LAVA test
suite (or jobs in general) writers
●black-box style
●tests are just shell commands run on the target
●API to declare test case and results (pass/fail)
●Plans
●enhance user experience of test suite writers
●document best practices
●probable integration with new test suite helper tool
lava-lab by Dave
● Configuration management repository for the LAVA lab
○ lp:lava-lab
● Uses salt
● New systems provisioned very quickly
● Manages, among others:
○ packages installation (APT and custom sources)
○ available users
○ service configuration (DHCP, DNS, etc)
● We are incrementally building it
○ new systems fully managed with salt
○ older systems partially managed
○ lava install, upgrades and config already managed
● SSH access from launchpad - move to ldap?
LAVA Dashboard by Antonio and Senthil
●Results submitted at the end of each job go into bundle
streams
●web interface
●Reports
●Filters: one can be notified of every new test result that is uploaded
and matches a user-defined criteria
●Bundle streams: private or public, individual or per-team
●Plans
●More intuitive test management UI
●Ability to submit jobs from the Dashboard
Publishing framework by Georgy
●Runs snapshots.linaro.org & releases.linaro.org
●Holds build results for builds happening on jenkins
instances
●Provides click-through licensing protection where needed
●Provides OpenID protection for builds restricted to sets of
users
●BUILD-INFO.txt files: produced by builds
●Future goals:
●Provide simple REST API for publishing and downloading
●Move to "cheap" cloud-based storage like S3
linaro-image-tools by Milo
●Collection of command line tools
●Creates and supports hardware packs
●Supports Android hardware packs (it's a configuration file!)
●Creates and installs bootable systems
●Just need an hardware pack, and a root filesystem
●For Android images it combines several components
●Supports multiple boards
●Future Plans:
●Clean-up documentation
●Clean-up bug queue
●Python3 port/fixes
Get in touch by Danilo
●Reach us all on #linaro, #linaro-infrastructure and #linaro-
lava IRC channels
●Now you know us: grab us while at Connect in Atrium 2
(afternoons)
●Joint team, others with experience (Fathi, Marcin, ScottB...)
●Meet Tyler Baker
●Questions?
More about Linaro Connect: www.linaro.org/connect/
More about Linaro: www.linaro.org/about/
More about Linaro engineering: www.linaro.org/engineering/
ASIA 2013 (LCA13)

More Related Content

What's hot

Pysys testframework
Pysys testframeworkPysys testframework
Pysys testframework
Moray Grieve
 
Java 7 & 8
Java 7 & 8Java 7 & 8
Java 7 & 8
Ken Coenen
 

What's hot (20)

Database migration with flyway
Database migration  with flywayDatabase migration  with flyway
Database migration with flyway
 
Road to sbt 1.0: Paved with server (2015 Amsterdam)
Road to sbt 1.0: Paved with server (2015 Amsterdam)Road to sbt 1.0: Paved with server (2015 Amsterdam)
Road to sbt 1.0: Paved with server (2015 Amsterdam)
 
Getting started with agile database migrations for java flywaydb
Getting started with agile database migrations for java flywaydbGetting started with agile database migrations for java flywaydb
Getting started with agile database migrations for java flywaydb
 
Inria Tech Talk : Comment améliorer la qualité de vos logiciels avec STAMP
Inria Tech Talk : Comment améliorer la qualité de vos logiciels avec STAMPInria Tech Talk : Comment améliorer la qualité de vos logiciels avec STAMP
Inria Tech Talk : Comment améliorer la qualité de vos logiciels avec STAMP
 
Infrastructure testing with Molecule and TestInfra
Infrastructure testing with Molecule and TestInfraInfrastructure testing with Molecule and TestInfra
Infrastructure testing with Molecule and TestInfra
 
How To Get The Most Out Of Your Hibernate, JBoss EAP 7 Application (Ståle Ped...
How To Get The Most Out Of Your Hibernate, JBoss EAP 7 Application (Ståle Ped...How To Get The Most Out Of Your Hibernate, JBoss EAP 7 Application (Ståle Ped...
How To Get The Most Out Of Your Hibernate, JBoss EAP 7 Application (Ståle Ped...
 
JCConf 2020 - New Java Features Released in 2020
JCConf 2020 - New Java Features Released in 2020JCConf 2020 - New Java Features Released in 2020
JCConf 2020 - New Java Features Released in 2020
 
Inside the JVM - Follow the white rabbit! / Breizh JUG
Inside the JVM - Follow the white rabbit! / Breizh JUGInside the JVM - Follow the white rabbit! / Breizh JUG
Inside the JVM - Follow the white rabbit! / Breizh JUG
 
Pysys testframework
Pysys testframeworkPysys testframework
Pysys testframework
 
Virtualizing Java in Java (jug.ru)
Virtualizing Java in Java (jug.ru)Virtualizing Java in Java (jug.ru)
Virtualizing Java in Java (jug.ru)
 
Introduction to clarity
Introduction to clarityIntroduction to clarity
Introduction to clarity
 
OSMC 2010 | NSClient++ - what's new? And what's coming! by Michael Medin
OSMC 2010 |  NSClient++ - what's new? And what's coming! by Michael MedinOSMC 2010 |  NSClient++ - what's new? And what's coming! by Michael Medin
OSMC 2010 | NSClient++ - what's new? And what's coming! by Michael Medin
 
FUNTASY - Functional testing automated system
FUNTASY - Functional testing automated systemFUNTASY - Functional testing automated system
FUNTASY - Functional testing automated system
 
Ratpack JVM_MX Meetup February 2016
Ratpack JVM_MX Meetup February 2016Ratpack JVM_MX Meetup February 2016
Ratpack JVM_MX Meetup February 2016
 
Flyway
FlywayFlyway
Flyway
 
What to expect from Java 9
What to expect from Java 9What to expect from Java 9
What to expect from Java 9
 
JavaOne 2011 Recap
JavaOne 2011 RecapJavaOne 2011 Recap
JavaOne 2011 Recap
 
Find bottleneck and tuning in Java Application
Find bottleneck and tuning in Java ApplicationFind bottleneck and tuning in Java Application
Find bottleneck and tuning in Java Application
 
Code lifecycle in the jvm - TopConf Linz
Code lifecycle in the jvm - TopConf LinzCode lifecycle in the jvm - TopConf Linz
Code lifecycle in the jvm - TopConf Linz
 
Java 7 & 8
Java 7 & 8Java 7 & 8
Java 7 & 8
 

Similar to LCA13: LAVA and CI Component Review

20141111_SOS3_Gallo
20141111_SOS3_Gallo20141111_SOS3_Gallo
20141111_SOS3_Gallo
Andrea Gallo
 
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Giovanni Toraldo
 

Similar to LCA13: LAVA and CI Component Review (20)

DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps WayDevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
 
LCE13: Linaro Infrastructure Update
LCE13: Linaro Infrastructure UpdateLCE13: Linaro Infrastructure Update
LCE13: Linaro Infrastructure Update
 
LCE13: Test and Validation Summit: The future of testing at Linaro
LCE13: Test and Validation Summit: The future of testing at LinaroLCE13: Test and Validation Summit: The future of testing at Linaro
LCE13: Test and Validation Summit: The future of testing at Linaro
 
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
 
LCE13: Test and Validation Summit: Evolution of Testing in Linaro (I)
LCE13: Test and Validation Summit: Evolution of Testing in Linaro (I)LCE13: Test and Validation Summit: Evolution of Testing in Linaro (I)
LCE13: Test and Validation Summit: Evolution of Testing in Linaro (I)
 
LCE13: Test and Validation Summit: Evolution of Testing in Linaro (II)
LCE13: Test and Validation Summit: Evolution of Testing in Linaro (II)LCE13: Test and Validation Summit: Evolution of Testing in Linaro (II)
LCE13: Test and Validation Summit: Evolution of Testing in Linaro (II)
 
Free the Functions with Fn project!
Free the Functions with Fn project!Free the Functions with Fn project!
Free the Functions with Fn project!
 
Open Source Serverless: a practical view. - Gabriele Provinciali Luca Postacc...
Open Source Serverless: a practical view. - Gabriele Provinciali Luca Postacc...Open Source Serverless: a practical view. - Gabriele Provinciali Luca Postacc...
Open Source Serverless: a practical view. - Gabriele Provinciali Luca Postacc...
 
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
 
The Fn Project: A Quick Introduction (December 2017)
The Fn Project: A Quick Introduction (December 2017)The Fn Project: A Quick Introduction (December 2017)
The Fn Project: A Quick Introduction (December 2017)
 
Practical virtual network functions with Snabb (8th SDN Workshop)
Practical virtual network functions with Snabb (8th SDN Workshop)Practical virtual network functions with Snabb (8th SDN Workshop)
Practical virtual network functions with Snabb (8th SDN Workshop)
 
Devops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShiftDevops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShift
 
Continuous testing
Continuous testingContinuous testing
Continuous testing
 
GoDocker presentation
GoDocker presentationGoDocker presentation
GoDocker presentation
 
Apache Provisionr (incubating) - Bucharest JUG 10
Apache Provisionr (incubating) - Bucharest JUG 10Apache Provisionr (incubating) - Bucharest JUG 10
Apache Provisionr (incubating) - Bucharest JUG 10
 
20141111_SOS3_Gallo
20141111_SOS3_Gallo20141111_SOS3_Gallo
20141111_SOS3_Gallo
 
Creating pools of Virtual Machines - ApacheCon NA 2013
Creating pools of Virtual Machines - ApacheCon NA 2013Creating pools of Virtual Machines - ApacheCon NA 2013
Creating pools of Virtual Machines - ApacheCon NA 2013
 
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)
 
Introduction to InfluxDB, an Open Source Distributed Time Series Database by ...
Introduction to InfluxDB, an Open Source Distributed Time Series Database by ...Introduction to InfluxDB, an Open Source Distributed Time Series Database by ...
Introduction to InfluxDB, an Open Source Distributed Time Series Database by ...
 
Introduction to PaaS and Heroku
Introduction to PaaS and HerokuIntroduction to PaaS and Heroku
Introduction to PaaS and Heroku
 

More from Linaro

Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea GalloDeep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Linaro
 
HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018
Linaro
 
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Linaro
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Linaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
Linaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
Linaro
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
Linaro
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMU
Linaro
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation
Linaro
 
HKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootHKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted boot
Linaro
 

More from Linaro (20)

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

Recently uploaded

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 

Recently uploaded (20)

SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 

LCA13: LAVA and CI Component Review

  • 1. ASIA 2013 (LCA13) LAVA & CI Component Review LAVA & Infrastructure teams
  • 2. Current architecture by James, Danilo, Dave ●Source code (git, bzr) ●Builds (ci.linaro.org, android-build, cbuild, PPAs) ●Publishing (snapshots.linaro.org) ●Testing (LAVA) ●Data collection (android-build, LAVA dashboards...) ●Releasing (releases.linaro.org)
  • 3. Ongoing changes by James ●Web interface scaled back to reporting only ●Job management by command line interface ●Job descriptions are Python scripts ●We provide the API and will adapt as needed. ●Jobs can be run locally as well as on the CI infrastructure ●Codify your workflow into a job ●Run the parts of a job you need (e.g. run build + test steps locally pre- checkin without the checkout step).
  • 4. Code hosting/Gerrit by Stevan ● Launchpad, git.linaro.org and android.git.linaro.org ● public and private repos, SSH keys auth ● gitweb for web interface ● gerrit integration for code review purposes http://review. android.git.linaro.org ● future goals: ● http://cards.linaro.org/browse/CARD-148 ● better ACL and privacy control ● LDAP sync ● Repo management over web (no SSH required) ● Rhodecode at https://staging.git.linaro.org/
  • 5. Jenkins & ci.linaro.org by Stevan ●continuous integration with Jenkins ●perform dynamic, parameterized builds on EC2 cloud ●enables you to build and test your code submissions ●gcc, kernel, openembedded, etc.. ●submits build results for LAVA testing ●how to request CI job, monitor build status, test results and more can be found at https://wiki.linaro. org/Platform/Infrastructure/LinaroCI
  • 6. Android Build by Paul ●Builds Android platform, submits for testing to LAVA, provides integrated display of results ●Jenkins-based system with custom frontend for scheduling builds and displaying results ●Frontend is not very scalable and maintainable, but works so far ●Most of issues with the system are due to Jenkins side of things ●Possible improvement is migration to general CI solution
  • 7. cbuild by Paul ●System for toolchain testing (gcc and other parts like libc's) ●Primary stakeholder: Toolchain WG ●Mostly separate from the rest of CI infra (implementation predates general CI infra setup in Linaro) ●Does cross as well as native builds (native builds are what differentiates it from other CI infra) ●Uses own ARM board pool, or more recently, LAVA ●LAVA is used as "dumb executor", better integration is intended ●UI provides some advanced features (like diffing between test results) ●At the same time, UI is that of internal tool - not easy to learn or use
  • 8. LAVA Scheduler by Antonio ●Web frontend: ●XMLRPC API: Receives job submissions from users and stores them in the DB in Submitted state ●also provides views and reports for the lava-server Django app: device status, job status and logs ●Daemon: ●multiple worker nodes ●polls the DB for jobs ●decides which device will run the job ●spawns dispatcher instance ●Plans ●add support for scheduling multi-device jobs
  • 9. LAVA Dispatcher by Antonio ●Responsible for running jobs ●Designed as a one-shot CLI application: ●takes a job as input, runs the job in the given device, exits when finished ●Needs to be changed when a new device type has to be supported ●usually just adding a new class ●but not always so easy ;-) ●Plans ●running multi-device jobs
  • 10. lava-test-shell by Senthil ●Part of the LAVA dispatcher ●Being pushed as the gold standard for writing LAVA test suite (or jobs in general) writers ●black-box style ●tests are just shell commands run on the target ●API to declare test case and results (pass/fail) ●Plans ●enhance user experience of test suite writers ●document best practices ●probable integration with new test suite helper tool
  • 11. lava-lab by Dave ● Configuration management repository for the LAVA lab ○ lp:lava-lab ● Uses salt ● New systems provisioned very quickly ● Manages, among others: ○ packages installation (APT and custom sources) ○ available users ○ service configuration (DHCP, DNS, etc) ● We are incrementally building it ○ new systems fully managed with salt ○ older systems partially managed ○ lava install, upgrades and config already managed ● SSH access from launchpad - move to ldap?
  • 12. LAVA Dashboard by Antonio and Senthil ●Results submitted at the end of each job go into bundle streams ●web interface ●Reports ●Filters: one can be notified of every new test result that is uploaded and matches a user-defined criteria ●Bundle streams: private or public, individual or per-team ●Plans ●More intuitive test management UI ●Ability to submit jobs from the Dashboard
  • 13. Publishing framework by Georgy ●Runs snapshots.linaro.org & releases.linaro.org ●Holds build results for builds happening on jenkins instances ●Provides click-through licensing protection where needed ●Provides OpenID protection for builds restricted to sets of users ●BUILD-INFO.txt files: produced by builds ●Future goals: ●Provide simple REST API for publishing and downloading ●Move to "cheap" cloud-based storage like S3
  • 14. linaro-image-tools by Milo ●Collection of command line tools ●Creates and supports hardware packs ●Supports Android hardware packs (it's a configuration file!) ●Creates and installs bootable systems ●Just need an hardware pack, and a root filesystem ●For Android images it combines several components ●Supports multiple boards ●Future Plans: ●Clean-up documentation ●Clean-up bug queue ●Python3 port/fixes
  • 15. Get in touch by Danilo ●Reach us all on #linaro, #linaro-infrastructure and #linaro- lava IRC channels ●Now you know us: grab us while at Connect in Atrium 2 (afternoons) ●Joint team, others with experience (Fathi, Marcin, ScottB...) ●Meet Tyler Baker ●Questions?
  • 16. More about Linaro Connect: www.linaro.org/connect/ More about Linaro: www.linaro.org/about/ More about Linaro engineering: www.linaro.org/engineering/ ASIA 2013 (LCA13)