SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Downloaden Sie, um offline zu lesen
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)

Weitere ähnliche Inhalte

Was ist angesagt?

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

Was ist angesagt? (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Kürzlich hochgeladen (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 

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)