SlideShare a Scribd company logo
Mark Brown & Kevin Hilman, ELC-E 2016, Berlin
kernelci.org needs you!
• kernelci.org overview
• Results review & follow up
• Lab setup
• LAVA v2 installation & setup
• Contributing code
• Other relevant ELC-E talks
• Building a Bards Farm: Continuous Integration and Remote Control -
Antoine Tenart & Quentin Schulz, Free Electrons
• Wednesday, October 12 • 09:00 - 09:50
• https://openiotelceurope2016.sched.org/event/7rs8/building-a-bards-farm-continuous-integration-and-remote-
control-antoine-tenart-quentin-schulz-free-electrons
• Herd your boards, become a farmer - Geert Uytterhoeven
• Tuesday, October 11 14:00 - 14:50
• https://openiotelceurope2016.sched.org/event/7rsI/herd-your-boards-become-a-farmer-geert-uytterhoeven-gli
der-bvba
•
Introduction
• Automatic build & boot testing for the kernel
• ARM, ARM64, MIPS and x86
• Many kernel trees
• 260+ builds/tested commit (all in-tree defconfigs plus extras)
• ~500 boots/tested commit over ~100 boards
• 7500 jobs, 2,000,000 boots
• http://kernelci.org/stats/
• Results reported via mailing lists and web site
What is kernelci.org
• Much more likely that kernels will build...
• v3.10: 53 failed configs
• v3.14: 51 failed configs
• v4.1: 1 failed config
• Mainline: usually 0 failed configs outside of merge window
• Currently higher due to MIPS
• -next: this is where the errors get caught
Results
• Much more likely that kernels will build...
• v3.10: 53 failed configs
• v3.14: 51 failed configs
• v4.1: 1 failed config
• Mainline: usually 0 failed configs outside of merge window
• Currently higher due to MIPS
• -next: this is where the errors get caught
• ...and run
• More solid basis for development
• Made merge window and early -rcs much less stressful
Results
• Review results
• Contribute hardware
• Contribute a lab
• Contribute to kernelci.org infrastructure
Get involved
• Look at report e-mails for issues
• Follow links in mail or use web UI for logs
• Do some basic triage
• Compare against mainline
• Look for likely causes
• Bisect
• Follow up to the mail
• Then follow up to your follow up!
Reviewing results
Live demo time!
Results review example
• info@kernelci.org
Contributing hardware
• Useful for your own use
• No plugging/unplugging boards
• Good for regression testing
• Other talks provide more
detail for hardware
• Tools like BayLibre ACME
make life easier
• http://baylibre.com/acme/
Setting up a lab
28-port
USB hub
16-channel
USB-controlled relays
ATX Supply
5V
12V
to PC
Beaglebone Black
+ ACME cape
• Job runner & scheduler for board farms
• Used by almost all kernelci.org labs
• http://validation.linaro.org
• Running instance
• Documentation
• Skip v1, work with v2
• v2 much easier to use
• Currently rolling out
• Developed & distributed for Debian
• See LAVA site for other distros/source install
• Or install in a VM or container
• For kernelci need internet access
• Static public IP
• Use an IPv6 tunnel
• Host the master in the cloud
What is LAVA?
• Tempting fate again
LAVA web UI demo
• Ensure backports are enabled
• deb http://deb.debian.org/debian/ jessie-backports main
• Install the packages
• apt-get install postgresql
• apt-get install -t jessie-backports lava
• Enable in Apache
• a2ensite lava-server
• SSL configured as standard for Apache
• Add a superuser
• lava-server manage createsuperuser
• Log in via web UI
LAVA installation
• Both web and command line configuration
• Web UI is http://lava.example.com/admin/
• Start with adding a qemu device
• apt-get install -t jessie-backports qemu
• Need a device type
• Device types in /etc/lava-server/dispatcher-config/device-types
• qemu.jinja2
• beaglebone-black.jinja2
• http://lava.example.com/admin/lava_scheduler_app/devicetype/add/
• And a specific device
• Devices in /etc/lava-server/dispatcher-config/devices
• http://lava.example.com/admin/lava_scheduler_app/device/add/
• Set a name
• Check “Is public” and “Is pipeline device”
• Tell LAVA about config
• lava-server manage device-dictionary --hostname qemu01 --import
/etc/lava-server/dispatcher-config/devices/qemu01.jinja2
Adding devices
• Add a health check job to check things are running
• https://validation.linaro.org/static/docs/v2/first_steps.html
• Important config options for hardware devices
• power_on_command
• power_off_command
• console_device
• baud_rate
Adding devices
• http://lava.example.com/admin/auth/user/add/
• kernelci typically uses kernel-ci
• Create separate users for local use
• http://lava.example.com/admin/dashboard_app/bundlestream/add/
• kernelci typically uses /anonymous/kernel-ci/
• You can share bundle streams
• Generate an API token
• Log in as the user
• http://lava.example.com/api/tokens/
• For kernelci contact info@kernelci.org with a token
• For submitting jobs locally use lava-tool
• lava-tool auth-add http://user@lava.example.com/RPC2/
• lava-tool submit-job
https://<username>@validation.linaro.org/RPC2/ filename
Adding users & bundle streams
• Don’t need to connect all the boards to one machine
• Only needs lava-dispatcher, configured for pipeline
• apt-get install -t jessie-backports lava-dispatcher
• Point the lava-slave daemon at your master
• Edit /etc/init.d/lava-slave
• Add worker on the master
• http://lava.example.com/admin/lava_scheduler_app/worker/add/
• All configuration of devices on the master
• Set worker to be the worker the device is attached to
• Works with qemu devices!
• Enable authentication and encryption
• Essential if any of this is internet accessible!
• https://validation.linaro.org/static/docs/v2/pipeline-server.html#enable-master-encryptio
n
LAVA worker installation
• https://github.com/kernelci/
• Main needs
• Reporting/tracking of testsuite results
• Multiple compiler support
• Tracking of metrics like image sizes
• More scalable architecture
• Power tracking (BayLibre working on this)
• More log analysis (full text search?)
kernelci.org code
• Developed by
• Tyler Baker (Linaro)
• Milo Casagrande (Linaro)
• Kevin Hilman (BayLibre)
• Labs
• BayLibre, Collabora, Embedded Bits, Free Electrons, Jan-Simon
Möller, Kevin Hilman, Linaro, Mark Brown, Matt Hart, Pengutronix, TI,
Tyler Baker… you?
http://kernelci.org/
irc.freenode.org #kernelci
info@kernelci.org
Contributors - Q&A time
More about Linaro Connect: http://connect.linaro.org
More about Linaro: http://www.linaro.org/about/
More about Linaro engineering: http://www.linaro.org/engineering/
Linaro members: www.linaro.org/members

More Related Content

What's hot

Toshaan Bharvani – Icinga2 and Ansible, how to manage and migrate
Toshaan Bharvani – Icinga2 and Ansible, how to manage and migrateToshaan Bharvani – Icinga2 and Ansible, how to manage and migrate
Toshaan Bharvani – Icinga2 and Ansible, how to manage and migrate
Icinga
 
Monitoring Open Source Databases with Icinga
Monitoring Open Source Databases with IcingaMonitoring Open Source Databases with Icinga
Monitoring Open Source Databases with Icinga
Icinga
 
Hacking on WildFly 9
Hacking on WildFly 9Hacking on WildFly 9
Hacking on WildFly 9
Virtual JBoss User Group
 
Automated Deployment and Configuration Engines. Ansible
Automated Deployment and Configuration Engines. AnsibleAutomated Deployment and Configuration Engines. Ansible
Automated Deployment and Configuration Engines. Ansible
Alberto Molina Coballes
 
Automated Deployments with Ansible
Automated Deployments with AnsibleAutomated Deployments with Ansible
Automated Deployments with Ansible
Martin Etmajer
 
RunDeck
RunDeckRunDeck
RunDeck
Bruno Bonfils
 
Go Faster with Ansible (PHP meetup)
Go Faster with Ansible (PHP meetup)Go Faster with Ansible (PHP meetup)
Go Faster with Ansible (PHP meetup)
Richard Donkin
 
Chef + AWS + CodeIgniter
Chef + AWS + CodeIgniterChef + AWS + CodeIgniter
Chef + AWS + CodeIgniter
ciconf
 
Serverspec and Sensu - Testing and Monitoring collide
Serverspec and Sensu - Testing and Monitoring collideServerspec and Sensu - Testing and Monitoring collide
Serverspec and Sensu - Testing and Monitoring collide
m_richardson
 
DevOps for Humans - Ansible for Drupal Deployment Victory!
DevOps for Humans - Ansible for Drupal Deployment Victory!DevOps for Humans - Ansible for Drupal Deployment Victory!
DevOps for Humans - Ansible for Drupal Deployment Victory!
Jeff Geerling
 
DevOps, A brief introduction to Vagrant & Ansible
DevOps, A brief introduction to Vagrant & AnsibleDevOps, A brief introduction to Vagrant & Ansible
DevOps, A brief introduction to Vagrant & Ansible
Arnaud LEMAIRE
 
Ansible Case Studies
Ansible Case StudiesAnsible Case Studies
Ansible Case Studies
Greg DeKoenigsberg
 
Steamlining your puppet development workflow
Steamlining your puppet development workflowSteamlining your puppet development workflow
Steamlining your puppet development workflow
Tomas Doran
 
Chef Fundamentals Training Series Module 1: Overview of Chef
Chef Fundamentals Training Series Module 1: Overview of ChefChef Fundamentals Training Series Module 1: Overview of Chef
Chef Fundamentals Training Series Module 1: Overview of Chef
Chef Software, Inc.
 
Icinga 2010 at OSMC
Icinga 2010 at OSMCIcinga 2010 at OSMC
Icinga 2010 at OSMC
Icinga
 
Wicked Network Management
Wicked Network ManagementWicked Network Management
Wicked Network Management
Ben Chou
 
Vagrant For DevOps
Vagrant For DevOpsVagrant For DevOps
Vagrant For DevOps
Lalatendu Mohanty
 
Monitor-Driven Development Using Ansible
Monitor-Driven Development Using AnsibleMonitor-Driven Development Using Ansible
Monitor-Driven Development Using Ansible
Itamar Hassin
 
SaltConf14 - Brendan Burns, Google - Management at Google Scale
SaltConf14 - Brendan Burns, Google - Management at Google ScaleSaltConf14 - Brendan Burns, Google - Management at Google Scale
SaltConf14 - Brendan Burns, Google - Management at Google Scale
SaltStack
 
OSDC 2013 | Introduction into Chef by Andy Hawkins
OSDC 2013 | Introduction into Chef by Andy HawkinsOSDC 2013 | Introduction into Chef by Andy Hawkins
OSDC 2013 | Introduction into Chef by Andy Hawkins
NETWAYS
 

What's hot (20)

Toshaan Bharvani – Icinga2 and Ansible, how to manage and migrate
Toshaan Bharvani – Icinga2 and Ansible, how to manage and migrateToshaan Bharvani – Icinga2 and Ansible, how to manage and migrate
Toshaan Bharvani – Icinga2 and Ansible, how to manage and migrate
 
Monitoring Open Source Databases with Icinga
Monitoring Open Source Databases with IcingaMonitoring Open Source Databases with Icinga
Monitoring Open Source Databases with Icinga
 
Hacking on WildFly 9
Hacking on WildFly 9Hacking on WildFly 9
Hacking on WildFly 9
 
Automated Deployment and Configuration Engines. Ansible
Automated Deployment and Configuration Engines. AnsibleAutomated Deployment and Configuration Engines. Ansible
Automated Deployment and Configuration Engines. Ansible
 
Automated Deployments with Ansible
Automated Deployments with AnsibleAutomated Deployments with Ansible
Automated Deployments with Ansible
 
RunDeck
RunDeckRunDeck
RunDeck
 
Go Faster with Ansible (PHP meetup)
Go Faster with Ansible (PHP meetup)Go Faster with Ansible (PHP meetup)
Go Faster with Ansible (PHP meetup)
 
Chef + AWS + CodeIgniter
Chef + AWS + CodeIgniterChef + AWS + CodeIgniter
Chef + AWS + CodeIgniter
 
Serverspec and Sensu - Testing and Monitoring collide
Serverspec and Sensu - Testing and Monitoring collideServerspec and Sensu - Testing and Monitoring collide
Serverspec and Sensu - Testing and Monitoring collide
 
DevOps for Humans - Ansible for Drupal Deployment Victory!
DevOps for Humans - Ansible for Drupal Deployment Victory!DevOps for Humans - Ansible for Drupal Deployment Victory!
DevOps for Humans - Ansible for Drupal Deployment Victory!
 
DevOps, A brief introduction to Vagrant & Ansible
DevOps, A brief introduction to Vagrant & AnsibleDevOps, A brief introduction to Vagrant & Ansible
DevOps, A brief introduction to Vagrant & Ansible
 
Ansible Case Studies
Ansible Case StudiesAnsible Case Studies
Ansible Case Studies
 
Steamlining your puppet development workflow
Steamlining your puppet development workflowSteamlining your puppet development workflow
Steamlining your puppet development workflow
 
Chef Fundamentals Training Series Module 1: Overview of Chef
Chef Fundamentals Training Series Module 1: Overview of ChefChef Fundamentals Training Series Module 1: Overview of Chef
Chef Fundamentals Training Series Module 1: Overview of Chef
 
Icinga 2010 at OSMC
Icinga 2010 at OSMCIcinga 2010 at OSMC
Icinga 2010 at OSMC
 
Wicked Network Management
Wicked Network ManagementWicked Network Management
Wicked Network Management
 
Vagrant For DevOps
Vagrant For DevOpsVagrant For DevOps
Vagrant For DevOps
 
Monitor-Driven Development Using Ansible
Monitor-Driven Development Using AnsibleMonitor-Driven Development Using Ansible
Monitor-Driven Development Using Ansible
 
SaltConf14 - Brendan Burns, Google - Management at Google Scale
SaltConf14 - Brendan Burns, Google - Management at Google ScaleSaltConf14 - Brendan Burns, Google - Management at Google Scale
SaltConf14 - Brendan Burns, Google - Management at Google Scale
 
OSDC 2013 | Introduction into Chef by Andy Hawkins
OSDC 2013 | Introduction into Chef by Andy HawkinsOSDC 2013 | Introduction into Chef by Andy Hawkins
OSDC 2013 | Introduction into Chef by Andy Hawkins
 

Viewers also liked

LCU13: Linaro Stable Kernel
LCU13: Linaro Stable KernelLCU13: Linaro Stable Kernel
LCU13: Linaro Stable Kernel
Mark Brown
 
What's going on with SPI
What's going on with SPI What's going on with SPI
What's going on with SPI
Mark Brown
 
Regulators learning to play with others
Regulators  learning to play with othersRegulators  learning to play with others
Regulators learning to play with others
Mark Brown
 
Linux audio for smartphones
Linux audio for smartphonesLinux audio for smartphones
Linux audio for smartphones
Mark Brown
 
regmap: The power of subsystems and abstractions
regmap: The power of subsystems and abstractionsregmap: The power of subsystems and abstractions
regmap: The power of subsystems and abstractions
Mark Brown
 
I2C Subsystem In Linux-2.6.24
I2C Subsystem In Linux-2.6.24I2C Subsystem In Linux-2.6.24
I2C Subsystem In Linux-2.6.24
Varun Mahajan
 

Viewers also liked (6)

LCU13: Linaro Stable Kernel
LCU13: Linaro Stable KernelLCU13: Linaro Stable Kernel
LCU13: Linaro Stable Kernel
 
What's going on with SPI
What's going on with SPI What's going on with SPI
What's going on with SPI
 
Regulators learning to play with others
Regulators  learning to play with othersRegulators  learning to play with others
Regulators learning to play with others
 
Linux audio for smartphones
Linux audio for smartphonesLinux audio for smartphones
Linux audio for smartphones
 
regmap: The power of subsystems and abstractions
regmap: The power of subsystems and abstractionsregmap: The power of subsystems and abstractions
regmap: The power of subsystems and abstractions
 
I2C Subsystem In Linux-2.6.24
I2C Subsystem In Linux-2.6.24I2C Subsystem In Linux-2.6.24
I2C Subsystem In Linux-2.6.24
 

Similar to Kernelci.org needs you!

Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Mandi Walls
 
From SaltStack to Puppet and beyond...
From SaltStack to Puppet and beyond...From SaltStack to Puppet and beyond...
From SaltStack to Puppet and beyond...
Yury Bushmelev
 
A Million ways of Deploying a Kubernetes Cluster
A Million ways of Deploying a Kubernetes ClusterA Million ways of Deploying a Kubernetes Cluster
A Million ways of Deploying a Kubernetes Cluster
Jimmy Lu
 
Puppet Camp New York 2014: Streamlining Puppet Development Workflow
Puppet Camp New York 2014: Streamlining Puppet Development Workflow Puppet Camp New York 2014: Streamlining Puppet Development Workflow
Puppet Camp New York 2014: Streamlining Puppet Development Workflow
Puppet
 
Introduction to Chef - Techsuperwomen Summit
Introduction to Chef - Techsuperwomen SummitIntroduction to Chef - Techsuperwomen Summit
Introduction to Chef - Techsuperwomen Summit
Jennifer Davis
 
openQA hands on with openSUSE Leap 42.1 - openSUSE.Asia Summit ID 2016
openQA hands on with openSUSE Leap 42.1 - openSUSE.Asia Summit ID 2016openQA hands on with openSUSE Leap 42.1 - openSUSE.Asia Summit ID 2016
openQA hands on with openSUSE Leap 42.1 - openSUSE.Asia Summit ID 2016
Ben Chou
 
AVA - a futuristic test runner
AVA - a futuristic test runnerAVA - a futuristic test runner
AVA - a futuristic test runner
andreaslubbe
 
Performance Benchmarking: Tips, Tricks, and Lessons Learned
Performance Benchmarking: Tips, Tricks, and Lessons LearnedPerformance Benchmarking: Tips, Tricks, and Lessons Learned
Performance Benchmarking: Tips, Tricks, and Lessons Learned
Tim Callaghan
 
SCALE12X: Chef for OpenStack
SCALE12X: Chef for OpenStackSCALE12X: Chef for OpenStack
SCALE12X: Chef for OpenStack
Matt Ray
 
TryStack: A Sandbox for OpenStack Users and Admins
TryStack: A Sandbox for OpenStack Users and AdminsTryStack: A Sandbox for OpenStack Users and Admins
TryStack: A Sandbox for OpenStack Users and Admins
Anne Gentle
 
Detailed Introduction To Docker
Detailed Introduction To DockerDetailed Introduction To Docker
Detailed Introduction To Docker
nklmish
 
Safe deployments with Blue-Green and Spinnaker
Safe deployments with Blue-Green and SpinnakerSafe deployments with Blue-Green and Spinnaker
Safe deployments with Blue-Green and Spinnaker
Mihnea Dobrescu-Balaur
 
CIRCUIT 2015 - Monitoring AEM
CIRCUIT 2015 - Monitoring AEMCIRCUIT 2015 - Monitoring AEM
CIRCUIT 2015 - Monitoring AEM
ICF CIRCUIT
 
Puppet Camp Tokyo 2014: Keynote
Puppet Camp Tokyo 2014: KeynotePuppet Camp Tokyo 2014: Keynote
Puppet Camp Tokyo 2014: Keynote
Puppet
 
GraphDay Paris - Intégrer des flux de données dans Neo4j avec l'ETL Open Sour...
GraphDay Paris - Intégrer des flux de données dans Neo4j avec l'ETL Open Sour...GraphDay Paris - Intégrer des flux de données dans Neo4j avec l'ETL Open Sour...
GraphDay Paris - Intégrer des flux de données dans Neo4j avec l'ETL Open Sour...
Neo4j
 
Jose Luis Soria - XP2014 - Designing a Release Pipeline
Jose Luis Soria - XP2014 - Designing a Release PipelineJose Luis Soria - XP2014 - Designing a Release Pipeline
Jose Luis Soria - XP2014 - Designing a Release Pipeline
Jose Luis Soria
 
Chef For OpenStack Overview
Chef For OpenStack OverviewChef For OpenStack Overview
Chef For OpenStack Overview
OpenStack Foundation
 
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
garrett honeycutt
 
OpenStack and Windows
OpenStack and WindowsOpenStack and Windows
OpenStack and Windows
Alessandro Pilotti
 
Reproducibility - The myths and truths of pipeline bioinformatics
Reproducibility - The myths and truths of pipeline bioinformaticsReproducibility - The myths and truths of pipeline bioinformatics
Reproducibility - The myths and truths of pipeline bioinformatics
Simon Cockell
 

Similar to Kernelci.org needs you! (20)

Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
 
From SaltStack to Puppet and beyond...
From SaltStack to Puppet and beyond...From SaltStack to Puppet and beyond...
From SaltStack to Puppet and beyond...
 
A Million ways of Deploying a Kubernetes Cluster
A Million ways of Deploying a Kubernetes ClusterA Million ways of Deploying a Kubernetes Cluster
A Million ways of Deploying a Kubernetes Cluster
 
Puppet Camp New York 2014: Streamlining Puppet Development Workflow
Puppet Camp New York 2014: Streamlining Puppet Development Workflow Puppet Camp New York 2014: Streamlining Puppet Development Workflow
Puppet Camp New York 2014: Streamlining Puppet Development Workflow
 
Introduction to Chef - Techsuperwomen Summit
Introduction to Chef - Techsuperwomen SummitIntroduction to Chef - Techsuperwomen Summit
Introduction to Chef - Techsuperwomen Summit
 
openQA hands on with openSUSE Leap 42.1 - openSUSE.Asia Summit ID 2016
openQA hands on with openSUSE Leap 42.1 - openSUSE.Asia Summit ID 2016openQA hands on with openSUSE Leap 42.1 - openSUSE.Asia Summit ID 2016
openQA hands on with openSUSE Leap 42.1 - openSUSE.Asia Summit ID 2016
 
AVA - a futuristic test runner
AVA - a futuristic test runnerAVA - a futuristic test runner
AVA - a futuristic test runner
 
Performance Benchmarking: Tips, Tricks, and Lessons Learned
Performance Benchmarking: Tips, Tricks, and Lessons LearnedPerformance Benchmarking: Tips, Tricks, and Lessons Learned
Performance Benchmarking: Tips, Tricks, and Lessons Learned
 
SCALE12X: Chef for OpenStack
SCALE12X: Chef for OpenStackSCALE12X: Chef for OpenStack
SCALE12X: Chef for OpenStack
 
TryStack: A Sandbox for OpenStack Users and Admins
TryStack: A Sandbox for OpenStack Users and AdminsTryStack: A Sandbox for OpenStack Users and Admins
TryStack: A Sandbox for OpenStack Users and Admins
 
Detailed Introduction To Docker
Detailed Introduction To DockerDetailed Introduction To Docker
Detailed Introduction To Docker
 
Safe deployments with Blue-Green and Spinnaker
Safe deployments with Blue-Green and SpinnakerSafe deployments with Blue-Green and Spinnaker
Safe deployments with Blue-Green and Spinnaker
 
CIRCUIT 2015 - Monitoring AEM
CIRCUIT 2015 - Monitoring AEMCIRCUIT 2015 - Monitoring AEM
CIRCUIT 2015 - Monitoring AEM
 
Puppet Camp Tokyo 2014: Keynote
Puppet Camp Tokyo 2014: KeynotePuppet Camp Tokyo 2014: Keynote
Puppet Camp Tokyo 2014: Keynote
 
GraphDay Paris - Intégrer des flux de données dans Neo4j avec l'ETL Open Sour...
GraphDay Paris - Intégrer des flux de données dans Neo4j avec l'ETL Open Sour...GraphDay Paris - Intégrer des flux de données dans Neo4j avec l'ETL Open Sour...
GraphDay Paris - Intégrer des flux de données dans Neo4j avec l'ETL Open Sour...
 
Jose Luis Soria - XP2014 - Designing a Release Pipeline
Jose Luis Soria - XP2014 - Designing a Release PipelineJose Luis Soria - XP2014 - Designing a Release Pipeline
Jose Luis Soria - XP2014 - Designing a Release Pipeline
 
Chef For OpenStack Overview
Chef For OpenStack OverviewChef For OpenStack Overview
Chef For OpenStack Overview
 
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
 
OpenStack and Windows
OpenStack and WindowsOpenStack and Windows
OpenStack and Windows
 
Reproducibility - The myths and truths of pipeline bioinformatics
Reproducibility - The myths and truths of pipeline bioinformaticsReproducibility - The myths and truths of pipeline bioinformatics
Reproducibility - The myths and truths of pipeline bioinformatics
 

Recently uploaded

Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
Pixlogix Infotech
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 

Recently uploaded (20)

Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 

Kernelci.org needs you!

  • 1. Mark Brown & Kevin Hilman, ELC-E 2016, Berlin kernelci.org needs you!
  • 2. • kernelci.org overview • Results review & follow up • Lab setup • LAVA v2 installation & setup • Contributing code • Other relevant ELC-E talks • Building a Bards Farm: Continuous Integration and Remote Control - Antoine Tenart & Quentin Schulz, Free Electrons • Wednesday, October 12 • 09:00 - 09:50 • https://openiotelceurope2016.sched.org/event/7rs8/building-a-bards-farm-continuous-integration-and-remote- control-antoine-tenart-quentin-schulz-free-electrons • Herd your boards, become a farmer - Geert Uytterhoeven • Tuesday, October 11 14:00 - 14:50 • https://openiotelceurope2016.sched.org/event/7rsI/herd-your-boards-become-a-farmer-geert-uytterhoeven-gli der-bvba • Introduction
  • 3. • Automatic build & boot testing for the kernel • ARM, ARM64, MIPS and x86 • Many kernel trees • 260+ builds/tested commit (all in-tree defconfigs plus extras) • ~500 boots/tested commit over ~100 boards • 7500 jobs, 2,000,000 boots • http://kernelci.org/stats/ • Results reported via mailing lists and web site What is kernelci.org
  • 4. • Much more likely that kernels will build... • v3.10: 53 failed configs • v3.14: 51 failed configs • v4.1: 1 failed config • Mainline: usually 0 failed configs outside of merge window • Currently higher due to MIPS • -next: this is where the errors get caught Results
  • 5. • Much more likely that kernels will build... • v3.10: 53 failed configs • v3.14: 51 failed configs • v4.1: 1 failed config • Mainline: usually 0 failed configs outside of merge window • Currently higher due to MIPS • -next: this is where the errors get caught • ...and run • More solid basis for development • Made merge window and early -rcs much less stressful Results
  • 6. • Review results • Contribute hardware • Contribute a lab • Contribute to kernelci.org infrastructure Get involved
  • 7. • Look at report e-mails for issues • Follow links in mail or use web UI for logs • Do some basic triage • Compare against mainline • Look for likely causes • Bisect • Follow up to the mail • Then follow up to your follow up! Reviewing results
  • 8. Live demo time! Results review example
  • 10. • Useful for your own use • No plugging/unplugging boards • Good for regression testing • Other talks provide more detail for hardware • Tools like BayLibre ACME make life easier • http://baylibre.com/acme/ Setting up a lab
  • 11. 28-port USB hub 16-channel USB-controlled relays ATX Supply 5V 12V to PC Beaglebone Black + ACME cape
  • 12. • Job runner & scheduler for board farms • Used by almost all kernelci.org labs • http://validation.linaro.org • Running instance • Documentation • Skip v1, work with v2 • v2 much easier to use • Currently rolling out • Developed & distributed for Debian • See LAVA site for other distros/source install • Or install in a VM or container • For kernelci need internet access • Static public IP • Use an IPv6 tunnel • Host the master in the cloud What is LAVA?
  • 13. • Tempting fate again LAVA web UI demo
  • 14. • Ensure backports are enabled • deb http://deb.debian.org/debian/ jessie-backports main • Install the packages • apt-get install postgresql • apt-get install -t jessie-backports lava • Enable in Apache • a2ensite lava-server • SSL configured as standard for Apache • Add a superuser • lava-server manage createsuperuser • Log in via web UI LAVA installation
  • 15. • Both web and command line configuration • Web UI is http://lava.example.com/admin/ • Start with adding a qemu device • apt-get install -t jessie-backports qemu • Need a device type • Device types in /etc/lava-server/dispatcher-config/device-types • qemu.jinja2 • beaglebone-black.jinja2 • http://lava.example.com/admin/lava_scheduler_app/devicetype/add/ • And a specific device • Devices in /etc/lava-server/dispatcher-config/devices • http://lava.example.com/admin/lava_scheduler_app/device/add/ • Set a name • Check “Is public” and “Is pipeline device” • Tell LAVA about config • lava-server manage device-dictionary --hostname qemu01 --import /etc/lava-server/dispatcher-config/devices/qemu01.jinja2 Adding devices
  • 16. • Add a health check job to check things are running • https://validation.linaro.org/static/docs/v2/first_steps.html • Important config options for hardware devices • power_on_command • power_off_command • console_device • baud_rate Adding devices
  • 17. • http://lava.example.com/admin/auth/user/add/ • kernelci typically uses kernel-ci • Create separate users for local use • http://lava.example.com/admin/dashboard_app/bundlestream/add/ • kernelci typically uses /anonymous/kernel-ci/ • You can share bundle streams • Generate an API token • Log in as the user • http://lava.example.com/api/tokens/ • For kernelci contact info@kernelci.org with a token • For submitting jobs locally use lava-tool • lava-tool auth-add http://user@lava.example.com/RPC2/ • lava-tool submit-job https://<username>@validation.linaro.org/RPC2/ filename Adding users & bundle streams
  • 18. • Don’t need to connect all the boards to one machine • Only needs lava-dispatcher, configured for pipeline • apt-get install -t jessie-backports lava-dispatcher • Point the lava-slave daemon at your master • Edit /etc/init.d/lava-slave • Add worker on the master • http://lava.example.com/admin/lava_scheduler_app/worker/add/ • All configuration of devices on the master • Set worker to be the worker the device is attached to • Works with qemu devices! • Enable authentication and encryption • Essential if any of this is internet accessible! • https://validation.linaro.org/static/docs/v2/pipeline-server.html#enable-master-encryptio n LAVA worker installation
  • 19. • https://github.com/kernelci/ • Main needs • Reporting/tracking of testsuite results • Multiple compiler support • Tracking of metrics like image sizes • More scalable architecture • Power tracking (BayLibre working on this) • More log analysis (full text search?) kernelci.org code
  • 20. • Developed by • Tyler Baker (Linaro) • Milo Casagrande (Linaro) • Kevin Hilman (BayLibre) • Labs • BayLibre, Collabora, Embedded Bits, Free Electrons, Jan-Simon Möller, Kevin Hilman, Linaro, Mark Brown, Matt Hart, Pengutronix, TI, Tyler Baker… you? http://kernelci.org/ irc.freenode.org #kernelci info@kernelci.org Contributors - Q&A time
  • 21. More about Linaro Connect: http://connect.linaro.org More about Linaro: http://www.linaro.org/about/ More about Linaro engineering: http://www.linaro.org/engineering/ Linaro members: www.linaro.org/members