![Page 1: Living on Master - eLinux...Using Yocto Project, Jenkins and LAVA for a rolling release Living on Master: Tim Orling Intel Open Source Technology Center Traditional Approach: “Fork](https://reader034.vdocument.in/reader034/viewer/2022042102/5e7ec91a3e58d73e6f0a8208/html5/thumbnails/1.jpg)
Using Yocto Project, Jenkins and LAVA for a rolling release
Living on Master:
Tim OrlingIntel Open Source Technology Center
![Page 2: Living on Master - eLinux...Using Yocto Project, Jenkins and LAVA for a rolling release Living on Master: Tim Orling Intel Open Source Technology Center Traditional Approach: “Fork](https://reader034.vdocument.in/reader034/viewer/2022042102/5e7ec91a3e58d73e6f0a8208/html5/thumbnails/2.jpg)
Here’s why.
You’re doing it all wrong.
![Page 3: Living on Master - eLinux...Using Yocto Project, Jenkins and LAVA for a rolling release Living on Master: Tim Orling Intel Open Source Technology Center Traditional Approach: “Fork](https://reader034.vdocument.in/reader034/viewer/2022042102/5e7ec91a3e58d73e6f0a8208/html5/thumbnails/3.jpg)
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
![Page 4: Living on Master - eLinux...Using Yocto Project, Jenkins and LAVA for a rolling release Living on Master: Tim Orling Intel Open Source Technology Center Traditional Approach: “Fork](https://reader034.vdocument.in/reader034/viewer/2022042102/5e7ec91a3e58d73e6f0a8208/html5/thumbnails/4.jpg)
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
![Page 5: Living on Master - eLinux...Using Yocto Project, Jenkins and LAVA for a rolling release Living on Master: Tim Orling Intel Open Source Technology Center Traditional Approach: “Fork](https://reader034.vdocument.in/reader034/viewer/2022042102/5e7ec91a3e58d73e6f0a8208/html5/thumbnails/5.jpg)
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
![Page 6: Living on Master - eLinux...Using Yocto Project, Jenkins and LAVA for a rolling release Living on Master: Tim Orling Intel Open Source Technology Center Traditional Approach: “Fork](https://reader034.vdocument.in/reader034/viewer/2022042102/5e7ec91a3e58d73e6f0a8208/html5/thumbnails/6.jpg)
Time to share.
Everyone has their own solution
![Page 7: Living on Master - eLinux...Using Yocto Project, Jenkins and LAVA for a rolling release Living on Master: Tim Orling Intel Open Source Technology Center Traditional Approach: “Fork](https://reader034.vdocument.in/reader034/viewer/2022042102/5e7ec91a3e58d73e6f0a8208/html5/thumbnails/7.jpg)
Motivations
OpenSource
EnterpriseClass
OfftheShelf Distributed
3/14/18 7
![Page 8: Living on Master - eLinux...Using Yocto Project, Jenkins and LAVA for a rolling release Living on Master: Tim Orling Intel Open Source Technology Center Traditional Approach: “Fork](https://reader034.vdocument.in/reader034/viewer/2022042102/5e7ec91a3e58d73e6f0a8208/html5/thumbnails/8.jpg)
Inspirations
3/14/18 8
![Page 9: Living on Master - eLinux...Using Yocto Project, Jenkins and LAVA for a rolling release Living on Master: Tim Orling Intel Open Source Technology Center Traditional Approach: “Fork](https://reader034.vdocument.in/reader034/viewer/2022042102/5e7ec91a3e58d73e6f0a8208/html5/thumbnails/9.jpg)
System overview
2/26/18 9
![Page 10: Living on Master - eLinux...Using Yocto Project, Jenkins and LAVA for a rolling release Living on Master: Tim Orling Intel Open Source Technology Center Traditional Approach: “Fork](https://reader034.vdocument.in/reader034/viewer/2022042102/5e7ec91a3e58d73e6f0a8208/html5/thumbnails/10.jpg)
Repository layout
2/26/18 10
![Page 11: Living on Master - eLinux...Using Yocto Project, Jenkins and LAVA for a rolling release Living on Master: Tim Orling Intel Open Source Technology Center Traditional Approach: “Fork](https://reader034.vdocument.in/reader034/viewer/2022042102/5e7ec91a3e58d73e6f0a8208/html5/thumbnails/11.jpg)
Use automation to stay up to date
⎻ Continuous Integration job runs daily
2/21/18 11
autosync gitsubmodules
git review[pullrequest]
triggerbuild
![Page 12: Living on Master - eLinux...Using Yocto Project, Jenkins and LAVA for a rolling release Living on Master: Tim Orling Intel Open Source Technology Center Traditional Approach: “Fork](https://reader034.vdocument.in/reader034/viewer/2022042102/5e7ec91a3e58d73e6f0a8208/html5/thumbnails/12.jpg)
Testing production images
⎻ Tests run on every build
2/26/18 12
LAVA*jobNetworkBoot(iPXE)
Custominitramfs
FlashproductionimagetoUSBstick
Reboot pytest
pytest isanOpenSourcetestingframework
![Page 13: Living on Master - eLinux...Using Yocto Project, Jenkins and LAVA for a rolling release Living on Master: Tim Orling Intel Open Source Technology Center Traditional Approach: “Fork](https://reader034.vdocument.in/reader034/viewer/2022042102/5e7ec91a3e58d73e6f0a8208/html5/thumbnails/13.jpg)
Testing System Overiew
2/26/18 13
DUT=DeviceUnderTestLAN=LocalAreaNetworkPDU=PowerDistributionUnit
![Page 14: Living on Master - eLinux...Using Yocto Project, Jenkins and LAVA for a rolling release Living on Master: Tim Orling Intel Open Source Technology Center Traditional Approach: “Fork](https://reader034.vdocument.in/reader034/viewer/2022042102/5e7ec91a3e58d73e6f0a8208/html5/thumbnails/14.jpg)
Testing System
3/14/18 14
DUT=DeviceUnderTestLAN=LocalAreaNetworkPDU=PowerDistributionUnit
![Page 15: Living on Master - eLinux...Using Yocto Project, Jenkins and LAVA for a rolling release Living on Master: Tim Orling Intel Open Source Technology Center Traditional Approach: “Fork](https://reader034.vdocument.in/reader034/viewer/2022042102/5e7ec91a3e58d73e6f0a8208/html5/thumbnails/15.jpg)
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
![Page 16: Living on Master - eLinux...Using Yocto Project, Jenkins and LAVA for a rolling release Living on Master: Tim Orling Intel Open Source Technology Center Traditional Approach: “Fork](https://reader034.vdocument.in/reader034/viewer/2022042102/5e7ec91a3e58d73e6f0a8208/html5/thumbnails/16.jpg)
Next Steps
LAVAdashboard
Other
TAPJUnit ⎻ Industry Standard Result Formats
⎻ Test Anything Protocol⎻ JUnit.xml
3/14/18 16
![Page 17: Living on Master - eLinux...Using Yocto Project, Jenkins and LAVA for a rolling release Living on Master: Tim Orling Intel Open Source Technology Center Traditional Approach: “Fork](https://reader034.vdocument.in/reader034/viewer/2022042102/5e7ec91a3e58d73e6f0a8208/html5/thumbnails/17.jpg)
Next Steps
3/14/18 17
DataAnalysisandVisualization
ElasticStack
Elasticsearch Logstash Kibana
![Page 18: Living on Master - eLinux...Using Yocto Project, Jenkins and LAVA for a rolling release Living on Master: Tim Orling Intel Open Source Technology Center Traditional Approach: “Fork](https://reader034.vdocument.in/reader034/viewer/2022042102/5e7ec91a3e58d73e6f0a8208/html5/thumbnails/18.jpg)
Moving forward.
Let’s do this.
![Page 19: Living on Master - eLinux...Using Yocto Project, Jenkins and LAVA for a rolling release Living on Master: Tim Orling Intel Open Source Technology Center Traditional Approach: “Fork](https://reader034.vdocument.in/reader034/viewer/2022042102/5e7ec91a3e58d73e6f0a8208/html5/thumbnails/19.jpg)
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
![Page 20: Living on Master - eLinux...Using Yocto Project, Jenkins and LAVA for a rolling release Living on Master: Tim Orling Intel Open Source Technology Center Traditional Approach: “Fork](https://reader034.vdocument.in/reader034/viewer/2022042102/5e7ec91a3e58d73e6f0a8208/html5/thumbnails/20.jpg)
Questions?
![Page 21: Living on Master - eLinux...Using Yocto Project, Jenkins and LAVA for a rolling release Living on Master: Tim Orling Intel Open Source Technology Center Traditional Approach: “Fork](https://reader034.vdocument.in/reader034/viewer/2022042102/5e7ec91a3e58d73e6f0a8208/html5/thumbnails/21.jpg)
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
![Page 22: Living on Master - eLinux...Using Yocto Project, Jenkins and LAVA for a rolling release Living on Master: Tim Orling Intel Open Source Technology Center Traditional Approach: “Fork](https://reader034.vdocument.in/reader034/viewer/2022042102/5e7ec91a3e58d73e6f0a8208/html5/thumbnails/22.jpg)
Thank you.
Special Thanks to:
• John Akre
• Kevron Rees
• Randy Witt
• Brian Avery
• Stephano Cetola