12
LCU14 BURLINGAME Tyler Baker, LCU14 Upstream Kernel CI

LCU14 203 - Lava Use Cases- Upstream Kernel CI

  • Upload
    linaro

  • View
    424

  • Download
    1

Embed Size (px)

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.org

Citation preview

Page 1: LCU14 203 - Lava Use Cases- Upstream Kernel CI

LCU14 BURLINGAME

Tyler Baker, LCU14

Upstream Kernel CI

Page 2: LCU14 203 - Lava Use Cases- Upstream Kernel CI

● What is Upstream Kernel CI● Status● Demo & Feedback● Next Steps

Agenda

Page 3: LCU14 203 - Lava Use Cases- Upstream Kernel CI

● Upstream focus● Clean reporting● Fast● Scalable● Pilot/Beta (limited users)

Goals

Page 4: LCU14 203 - Lava Use Cases- Upstream Kernel CI

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.

Page 5: LCU14 203 - Lava Use Cases- Upstream Kernel CI

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

Page 6: LCU14 203 - Lava Use Cases- Upstream Kernel CI

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

Page 7: LCU14 203 - Lava Use Cases- Upstream Kernel CI

1: Build, Publish, BootPick a tree any tree

2. Kernel CI Dashboardhttp://status.armcloud.us

DEMO

Page 8: LCU14 203 - Lava Use Cases- Upstream Kernel CI

● 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

Page 9: LCU14 203 - Lava Use Cases- Upstream Kernel CI

● 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

Page 10: LCU14 203 - Lava Use Cases- Upstream Kernel CI

● 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

Page 11: LCU14 203 - Lava Use Cases- Upstream Kernel CI

THANK YOU

Page 12: LCU14 203 - Lava Use Cases- Upstream Kernel CI

More about Linaro Connect: connect.linaro.org Linaro members: www.linaro.org/membersMore about Linaro: www.linaro.org/about/