building and testjng an automotjve platgorm
play

Building and testjng an automotjve platgorm - how Automotjve Grade - PowerPoint PPT Presentation

Building and testjng an automotjve platgorm - how Automotjve Grade Linux is built and tested Embedded Linux Conference Europe 2016 Jan-Simon Mller Release Manager, AGL , The Linux Foundatjon ( jsmoeller@linuxfoundatjon.org, DL9PF @IRC and


  1. Building and testjng an automotjve platgorm - how Automotjve Grade Linux is built and tested Embedded Linux Conference Europe 2016 Jan-Simon Möller Release Manager, AGL , The Linux Foundatjon ( jsmoeller@linuxfoundatjon.org, DL9PF @IRC and elsewhere )

  2. AGL - what ? ● Automotjve Grade Linux is a Linux Distributjon ● It is based on the Yocto Project/Openembedded ● Platgorm for multjple device profjles (IVI, telematjcs, … )

  3. AGL - what ? ● Open Source and Code First ● Multjple Architectures: – x86 (e.g. Intel Minnowboard) – ARM 32 (e.g. Renesas Porter, TI Vayu, RaspberryPI) – ARM 64 (e.g. Qualcomm dragonboard 410c, rpi3?)

  4. This talk ... ● why ? … we do this ● what ? … tools we use ● how ? … we combine them ● what ? … we want to achieve

  5. Why ? … we do this

  6. Why ? AGL development ... ● AGL development is done in a distributed way ● Developers around the globe contribute ● Code review

  7. Why ? ● Does it build ? ● Does it work ? – on board/arch A ? – on board/arch B ? – on board/arch C ? … – on board/arch <n> ? Image: public domain

  8. Why ? ● This must be a common problem! – just see how many talks during ELCE we have ;) – multjple solutjons – good! – difgerent use-cases ● Here is what we use! (Well, we think it does the trick – ideas/feedback welcome! Curious to hear your ideas !)

  9. What ? … tools we use

  10. What ? … tools we use ● SCM + Review: Gerrit (sorry, Greg) ● CI Builds: Jenkins ● Tests on HW: a) AGL-JTA (Fuego) b) LAVA ● Data-Postproc … ???

  11. SCM/Code-Review - Gerrit ● htups://git.automotjvelinux.org ● AGL-related projects in AGL/* ● if we are upstream → /src/* ● to try out code → /staging/* ● we use "repo" to pull down the git repositories

  12. SCM/Code-Review - Gerrit ● All code that goes into AGL/* needs to work on all reference and community platgorms → Test matrix: – Renesas Porter – Intel Minnowboard – Qemux86-64 (emulator) – DragonBoard – TI Vayu – NXP Wandboard, Sabre – RPI 2/3 – ...

  13. CI Builds - Jenkins ● htups://jenkins-new.automotjvelinux.org – Standard Jenkins + gerrit-trigger plugin (to poll git.automotjvelinux.org) + openstack cloud plugin (to start jenkins slaves/minions) + slaves run ofg identjcal base-images – CI-jobs created with Jenkins-Job-Builder (yaml)

  14. CI Builds - Jenkins ● A successful build will vote "Verifjed +1" ● A failed build will vote "Verifjed -1" in Gerrit ● You need to defjne the success/failure criteria – Starts with "it builds" (yay!) – Ends with "it boots, runs, passes all tests, updates cleanly, communicates with X and shuts-down properly"

  15. Tests on HW Tests on HW are hard !? ● You need the HW ● You need it on your desk/in your lab ● You need to deploy fjrmware/fjlesystems ● You need to reboot the board ● You need to initjate the test ● You need to collect the results ● You need to interpret the results ... rinse & repeat

  16. Lab setups … (from ELCE slides)

  17. Documentjng our Lab setup ● WIP document for LAVA: htup://bit.ly/lavasetup ● Doc for AGL-JTA/Fuego: htups://git.automotjvelinux.org/gerrit/gitweb?p=AGL-JTA.git;a=tree;f=docs ● Wiki page in AGL wiki: – htups://wiki.automotjvelinux.org/agl-testgramework

  18. Tests and frameworks ... ● AGL-JTA (modifjed/patched Fuego) – htups://git.automotjvelinux.org/gerrit/gitweb?p=AGL-JTA.git – jta.automotjvelinux.org (Live instance - WIP) – runs tests on target boards and collects results – results end up right now in a git repo ☺ large set of Tests, postproc capabilitjes ☹ Installatjon, modifjcatjon, board local (pwr/ssh)

  19. Tests and frameworks ... ● LAVA – htups://validatjon.linaro.org – htups://porter.automotjvelinux.org/scheduler/alljobs – board farm management + test executor – grabs board from pool, pwr & boot & test ☺ multjple boards per type, remote lab (WIP), ☺ runs even on RPI2/3 with PiFACE ! (2 DUT) ☹ fjrst setup litule hard, doc for satellite labs

  20. Documentjng our Lab setup ● WIP document for LAVA: htup://bit.ly/lavasetup ● Doc for AGL-JTA/Fuego: htups://git.automotjvelinux.org/gerrit/gitweb?p=AGL-JTA.git;a=tree;f=docs ● Wiki page in AGL wiki: – htups://wiki.automotjvelinux.org/agl-testgramework

  21. BOM <= 100 €

  22. Data-Postproc … ??? ● Investjgatjng – In fuego (AGL-JTA) ?? – Other mechanism ?? – What data to track at all ?? → You need to defjne your key indicators

  23. Feedback to Developers ● In our case – right in gerrit: C ode V erified C I- I mage- B uild C I- I mage- B oot- T est R eview (CI complete) ("It builds") ("It boots on HW") (human) C I- I mage- L TSI- T est ("The tests pass") C I- I mage- U I- T est ("The UI tests pass")

  24. How ? … we combine them

  25. Present Gerrit Jenkins (Build) CI builds AGL-JTA (jta) Lava (porter)

  26. Plan (short/mid) SPDX Gerrit Jenkins (Build) Extended tests, customized tests AGL-JTA (jta) Remote Lab Lava (lava) Remote Lab

  27. Plan (mid/long) Gerrit SPDX Jenkins (Build) AGL-JTA (jta) e.g. Eclipse.org/che Remote Board Lab Lava SDK (lava) Test & Debug App Remote Board Lab on board remotely ← ← ← ← UI testing ? openQA ? VM

  28. What ? … we want to achieve

  29. What ? … we want to achieve (Vision) ● Stable and tested platgorm to build-upon – wide range of devices ● Fast development through 'instant' feedback – developers work remotely, not all boards available ● Easy development through direct test on hw – remote testjng capabilitjes in combinatjon with SDK

  30. Q/A ?!

  31. THANK YOU

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend