Date post: | 13-Jun-2015 |
Category: |
Technology |
Upload: | linaro |
View: | 422 times |
Download: | 1 times |
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/