living on master - elinux...using yocto project, jenkins and lava for a rolling release living on...

Post on 21-Mar-2020

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Using Yocto Project, Jenkins and LAVA for a rolling release

Living on Master:

Tim OrlingIntel Open Source Technology Center

Here’s why.

You’re doing it all wrong.

Traditional Approach:“Fork It and Forget It”⎻ Pin upstream at a fixed version⎻ Make changes in tree⎻ No patches sent upstream

2/26/18 https://www.publicdomainpictures.net/view-image.php?image=168789&picture=cave-man-chiseling 3

git clonepokycdpokygit clonemeta-foo

Traditional Approach:“Fork It and Forget It”⎻ Obsolete from day one⎻ Upstream never stops⎻ Huge technical debt

2/26/18 https://www.publicdomainpictures.net/view-image.php?image=210256&picture=bison 4

Follow the Linux* kernel release model

⎻ http://www.kroah.com/log/blog/2018/02/05/linux-kernel-release-model/

⎻ Upstream First⎻ Backport to stable branches⎻ Constantly moving code-base

2/26/18http://blog.garagistry.com/2016/07/tour-rouge-for-trip-in-history.html

5

Time to share.

Everyone has their own solution

Motivations

OpenSource

EnterpriseClass

OfftheShelf Distributed

3/14/18 7

Inspirations

3/14/18 8

System overview

2/26/18 9

Repository layout

2/26/18 10

Use automation to stay up to date

⎻ Continuous Integration job runs daily

2/21/18 11

autosync gitsubmodules

git review[pullrequest]

triggerbuild

Testing production images

⎻ Tests run on every build

2/26/18 12

LAVA*jobNetworkBoot(iPXE)

Custominitramfs

FlashproductionimagetoUSBstick

Reboot pytest

pytest isanOpenSourcetestingframework

Testing System Overiew

2/26/18 13

DUT=DeviceUnderTestLAN=LocalAreaNetworkPDU=PowerDistributionUnit

Testing System

3/14/18 14

DUT=DeviceUnderTestLAN=LocalAreaNetworkPDU=PowerDistributionUnit

Next Steps

3/14/18 15

⎻ Test Case events working well⎻ Measurements and Units under

development⎻ Need to complete internal

Open Sourcing process

pytest-lava

TestCaseEvents Measurements Units

Next Steps

LAVAdashboard

Other

TAPJUnit ⎻ Industry Standard Result Formats

⎻ Test Anything Protocol⎻ JUnit.xml

3/14/18 16

Next Steps

3/14/18 17

DataAnalysisandVisualization

ElasticStack

Elasticsearch Logstash Kibana

Moving forward.

Let’s do this.

Reference Enterprise Class System

End-to-End Complete⎻ Orchestrated containers?

⎻ “Easy” to deploy⎻ “Effortless” to replicate

⎻ Internal Layer Index⎻ Jenkins Master⎻ Artifact server⎻ Data Visualization

Public LAVA server⎻ Share and Re-use test

definitions⎻ Distributed LAVA dispatchers

⎻ Containerized⎻ Better HW coverage

⎻ Each site focuses on platforms they care about

2/21/18 19

Questions?

Reference

⎻ https://validation.linaro.org⎻ https://github.com/Linaro/lava-

server⎻ https://github.com/Linaro/lava-

dispatcher⎻ https://pytest.org⎻ https://github.com/pytest-dev

⎻ https://git.linaro.org/lava-team/refactoring.git/

⎻ https://kernelci.org⎻ https://jenkins.io⎻ https://www.elastic.co/⎻ https://lists.yoctoproject.org/lis

tinfo/automated-testing

3/14/18 21

Thank you.

Special Thanks to:

• John Akre

• Kevron Rees

• Randy Witt

• Brian Avery

• Stephano Cetola

top related