lcu14 203 - lava use cases- upstream kernel ci
DESCRIPTION
LCU14-203 - Lava Use Cases- Upstream Kernel CI --------------------------------------------------- Speaker: Tyler Baker, Milo Casagrande Date: September 16, 2014 --------------------------------------------------- ★ Session Summary ★ This session will provide a short summary on how Linaro teams are automating upstream Kernel CI with a goal to improve the overall Linux on ARM ecosystem. The second half of the session will be general Q&A --------------------------------------------------- ★ Resources ★ Zerista: http://lcu14.zerista.com/event/member/137728 Google Event: https://plus.google.com/u/0/events/c7nnlfne37ig3omaegupn24jivs Video: https://www.youtube.com/watch?v=VcJziUPtknI&list=UUIVqQKxCyQLJS6xvSmfndLA Etherpad: http://pad.linaro.org/p/lcu14-203 --------------------------------------------------- ★ Event Details ★ Linaro Connect USA - #LCU14 September 15-19th, 2014 Hyatt Regency San Francisco Airport --------------------------------------------------- http://www.linaro.org http://connect.linaro.orgTRANSCRIPT
LCU14 BURLINGAME
Tyler Baker, LCU14
Upstream Kernel CI
● What is Upstream Kernel CI● Status● Demo & Feedback● Next Steps
Agenda
● Upstream focus● Clean reporting● Fast● Scalable● Pilot/Beta (limited users)
Goals
System Diagram
KernelSource
Generic Board FarmLAVA
Jenkins
Upstream Kernel CI System
DB GUISWRecipes Build, Boot &
Test Emails
Triggers, Jenkins GUI orJenkins CLI
job control,test & boot logs job control &
boot logs
Build Artifacts
Bisect (future)
This is the foundation/engine that allows us to do advanced reporting and in the future bisection
Using Kevin’s lab
Raw Artifacts
Other Builders
Build Artifacts or metadata
NOTE: a Core output of this effort are the interfaces; Defining these interfaces will make the system capable of integrating with other build, boot and test systems.
Build Systems● Jenkins front-end● Bare-metal executors
Publishing● Simple rsync publishing● Cheap storage● Hosted in Tyler’s dev lab
Infrastructure Status
● To remove impediments, created an ‘un-burdened’ infrastructure
HW & Boot Systems● Leverage Kevin & Tyler’s massive
ARM labs● Upstream bootloaders● Dedicated HW, Quick-turnaround● LAVA changes to support goals
Reporting● New Dashboard● Needs to be proven at scale
Functional● Automated upstream build validation● Build artifact publishing● Building interfaces● Boot Testing (Custom)
● ARM● Boot Testing (LAVA)
● ARM/x86/arm64● Results Dashboard
● Distributed testing / aggregation● Visual charting / trends● Email reports● Build / Boot bisection● Testing● Test results visualization
Not Functional
System Status
1: Build, Publish, BootPick a tree any tree
2. Kernel CI Dashboardhttp://status.armcloud.us
DEMO
● Email Reporting● Emails & pointers back to the CI system
● Dashboard Trends● Builds and Boots
● Recently failed● Last time it passed
● Recently passed● Last time it failed
● Boot time● Bisection start and end sha1’s
● Testing (Future)● Test and test case pass/fail percentages● Performance regressions
● Clean data export ● programmatic access to the data
Discussion: Result Analysis
● Build● This may not be feasible as it will require many powerful build slaves● Intel’s zero day is fast● Dashboard could display start and end points based on past build data
● Boot● This is where we really can add value for developers● Overhead is high
● More hardware and build slaves will be required● Easy way to trigger boot bisection
● CLI● Dashboard?● Other?
Discussion: Bisection
● Phases● Boot testing● Developer testing● Community test suites
● Resources to Triage● Monitor● Reproduce● Bisect● Communicate
● Test cases
Discussion: Testing
http://www.brendangregg.com/linuxperf.html
THANK YOU
More about Linaro Connect: connect.linaro.org Linaro members: www.linaro.org/membersMore about Linaro: www.linaro.org/about/