living on master - elinux...using yocto project, jenkins and lava for a rolling release living on...
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