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

building and testjng an automotjve platgorm
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 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 )

slide-2
SLIDE 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, … )

slide-3
SLIDE 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?)

slide-4
SLIDE 4

This talk ...

  • why ? … we do this
  • what ? … tools we use
  • how ? … we combine them
  • what ? … we want to achieve
slide-5
SLIDE 5

Why ? … we do this

slide-6
SLIDE 6

Why ?

AGL development ...

  • AGL development is done in a distributed way
  • Developers around the globe contribute
  • Code review
slide-7
SLIDE 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

slide-8
SLIDE 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 !)

slide-9
SLIDE 9

What ? … tools we use

slide-10
SLIDE 10

What ? … tools we use

  • SCM + Review: Gerrit

(sorry, Greg)

  • CI Builds:

Jenkins

  • Tests on HW:

a) AGL-JTA (Fuego) b) LAVA

  • Data-Postproc … ???
slide-11
SLIDE 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
slide-12
SLIDE 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 – ...

slide-13
SLIDE 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)

slide-14
SLIDE 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"

slide-15
SLIDE 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

slide-16
SLIDE 16

Lab setups … (from ELCE slides)

slide-17
SLIDE 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

slide-18
SLIDE 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)

slide-19
SLIDE 19
slide-20
SLIDE 20

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

slide-21
SLIDE 21
slide-22
SLIDE 22

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

slide-23
SLIDE 23

BOM <= 100 €

slide-24
SLIDE 24

Data-Postproc … ???

  • Investjgatjng

– In fuego (AGL-JTA) ?? – Other mechanism ?? – What data to track at all ??

→ You need to defjne your key indicators

slide-25
SLIDE 25

Feedback to Developers

  • In our case – right in gerrit:

Code Review (human) Verified (CI complete) CI-Image-Boot-Test ("It boots on HW") CI-Image-Build ("It builds") CI-Image-LTSI-Test ("The tests pass") CI-Image-UI-Test ("The UI tests pass")

slide-26
SLIDE 26

How ? … we combine them

slide-27
SLIDE 27

Present

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

slide-28
SLIDE 28

Plan (short/mid)

Gerrit Jenkins (Build) AGL-JTA (jta) Lava (lava) Remote Lab Remote Lab SPDX Extended tests, customized tests

slide-29
SLIDE 29

Plan (mid/long)

Gerrit Jenkins (Build) AGL-JTA (jta) Lava (lava) Remote Board Lab Remote Board Lab

  • penQA ?

← ← ← ← UI testing ? SDK Test & Debug App

  • n board

remotely SPDX VM e.g. Eclipse.org/che

slide-30
SLIDE 30

What ? … we want to achieve

slide-31
SLIDE 31

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

slide-32
SLIDE 32

Q/A ?!

slide-33
SLIDE 33

THANK YOU