KERNEL C.I. USING LINAROS AUTOMATED VALIDATION ARCHITECTURE - - PowerPoint PPT Presentation

kernel c i
SMART_READER_LITE
LIVE PREVIEW

KERNEL C.I. USING LINAROS AUTOMATED VALIDATION ARCHITECTURE - - PowerPoint PPT Presentation

KERNEL C.I. USING LINAROS AUTOMATED VALIDATION ARCHITECTURE Wednesday, September 11, 13 TYLER BAKER TECHNICAL ARCHITECT HTTP://WWW.LINARO.ORG LAVA DEVELOPER LAVA EVANGELIST FORMER PLATFORM ENGINEER KERNEL HACKER MT. BAKER, WA


slide-1
SLIDE 1

KERNEL C.I.

USING LINARO’S AUTOMATED VALIDATION ARCHITECTURE

Wednesday, September 11, 13

slide-2
SLIDE 2

TYLER BAKER

TECHNICAL ARCHITECT HTTP://WWW.LINARO.ORG LAVA DEVELOPER LAVA EVANGELIST FORMER PLATFORM ENGINEER KERNEL HACKER

  • MT. BAKER, WA

Wednesday, September 11, 13

slide-3
SLIDE 3

LAVA OVERVIEW

Wednesday, September 11, 13

slide-4
SLIDE 4

LAVA | LINARO AUTOMATED VALIDATION ARCHITECTURE

PROVEN REAL WORLD ACTIVE DEDICATED TEAM TESTED AUTOMATED REGRESSION TESTING

MAAS @ LINARO

Wednesday, September 11, 13

slide-5
SLIDE 5

LAVA ARCHITECTURE

A loosely coupled distributed automation framework

Wednesday, September 11, 13

slide-6
SLIDE 6

LAVA SERVER

DJANGO FRONTEND DJANGO APPS LAVA SCHEDULER LAVA DASHBOARD EXTENSIBLE CREATE A DJANGO APP AS LAVA EXTENSION PROVIDES XML-RPC API USER AUTHENTICATION DECOUPLED COMPONENTS FULL STACK STANDALONE WRITTEN IN PYTHON

HTTP://VALIDATION.LINARO.ORG

Wednesday, September 11, 13

slide-7
SLIDE 7

LAVA SERVER

Wednesday, September 11, 13

slide-8
SLIDE 8

LAVA SCHEDULER

LAVA SERVER EXTENSION INCLUDES A DAEMON USERS SUBMIT JOBS TO THE SCHEDULER JOBS DESCRIBED IN JSON SCHEDULES JOBS ON DEVICES MANAGES DEVICE STATE DISPLAYS STREAMING CONSOLE LOGS DEVICE HEALTH REPORTING SUPPORTS MULTI DEVICE TESTS DISPLAYS ALL TEST JOBS

HTTP://VALIDATION.LINARO.ORG/SCHEDULER/

Wednesday, September 11, 13

slide-9
SLIDE 9

LAVA SCHEDULER

Wednesday, September 11, 13

slide-10
SLIDE 10

LAVA DASHBOARD

LAVA SERVER EXTENSION MANAGES AND DISPLAYS TEST RESULTS BUNDLE STREAMS CONTAINER FOR TEST RESULTS FILTERS IMAGE REPORTS DATA VISUALIZATION MEASUREMENTS PASS / FAIL PERCENTAGES TARGET GOALS

HTTP://VALIDATION.LINARO.ORG/DASHBOARD/

Wednesday, September 11, 13

slide-11
SLIDE 11

LAVA DASHBOARD

Wednesday, September 11, 13

slide-12
SLIDE 12

LAVA DISPATCHER

CAN BE INVOKED BY SCHEDULER OR COMMAND LINE DIRECTLY INTERACTS HARDWARE SERIAL ADB / FASTBOOT IPMI / SOL / TFTP / PXE DEPLOYS SOFTWARE SYSTEM IMAGES BOOTLOADERS KERNELS / MODULES CONFIGURES BOOTLOADER RUNS TESTS ANY LANGUAGE

Wednesday, September 11, 13

slide-13
SLIDE 13

LAVA DISPATCHER

Wednesday, September 11, 13

slide-14
SLIDE 14

LAVA TOOL

COMMAND LINE UTILITY UTILIZES XML-RPC API SCHEDULE JOB POLL JOB STATUS RETRIEVE OR PUSH RESULTS RETRIEVE CONSOLE OUTPUT CREATE BUNDLE STREAMS

Wednesday, September 11, 13

slide-15
SLIDE 15

KERNEL DEPLOYMENT

USING LAVA AS A DEVELOPER

Wednesday, September 11, 13

slide-16
SLIDE 16

DEFINE A JOB

ENCODED IN JSON DESCRIBES SOFTWARE TO DEPLOY BOOTLOADER CONFIGURATION TESTS TO RUN BUNDLE STREAM FOR RESULTS

Wednesday, September 11, 13

slide-17
SLIDE 17

SELECT A TARGET

TARGET SPECIFIC DEVICE DEVICE TYPE GROUP JOB NAME (OPTIONAL) STRING DEBUG LEVEL (OPTIONAL) TIMEOUT (OPTIONAL) INTEGER

Wednesday, September 11, 13

slide-18
SLIDE 18

DEPLOY A KERNEL

DEPLOY_LINARO_KERNEL KERNEL (REQUIRED) RAMDISK (OPTIONAL) DTB (OPTIONAL) FIRMWARE (OPTIONAL) BOOTLOADER (OPTIONAL) URLS FILE:// HTTP(S):// SCP:// DATA:// BASE64 ENCODED COMING SOON

Wednesday, September 11, 13

slide-19
SLIDE 19

BOOT

BOOT_LINARO_IMAGE BOOT THE TARGET INTO TEST IMAGE DEFAULT BOOT COMMANDS ARE DEFINED BY LAVA CUSTOM BOOT COMMANDS CAN BE EMBEDDED IN JOB BOOT COMMAND STANZA SEND / EXPECT SENDLINE

Wednesday, September 11, 13

slide-20
SLIDE 20

INTERACTIVE BOOT COMMANDS

Wednesday, September 11, 13

slide-21
SLIDE 21

INTERACTIVE BOOT COMMANDS

Wednesday, September 11, 13

slide-22
SLIDE 22

RUN A TEST

LAVA_TEST_SHELL TEST DESCRIPTION DEFINED IN YAML INSTALL STEPS RUN STEPS RUNS ON THE TARGET PARSES STDOUT URLS FILE:// HTTP:// GIT BZR

Wednesday, September 11, 13

slide-23
SLIDE 23

SUBMIT RESULTS

SUBMIT_RESULTS BUNDLE STEAM SERVER BUNDLES LAVA RESULTS SUBMITS THEM TO DASHBOARD

Wednesday, September 11, 13

slide-24
SLIDE 24

EXAMPLE JOB

Wednesday, September 11, 13

slide-25
SLIDE 25

UNDER THE HOOD

LAVA DISPATCHER DOWNLOADS BINARIES POWERS ON DEVICE ENTERS THE BOOTLOADER SETS ENVIRONMENT VARIABLES LAVA_KERNEL LAVA_RAMDISK LAVA_DTB LAVA_BOOTLOADER LAVA_FIRMWARE

Wednesday, September 11, 13

slide-26
SLIDE 26

UNDER THE HOOD

RUN THE BOOT COMMANDS SERVES BINARIES OVER TFTP WAITS FOR PROMPT DEPLOYS TESTS OVER TCP/IP INVOKES TEST RUNNER PARSES RESULTS PULLS RESULTS OVER TCP/IP SUBMITS RESULTS BUNDLE TO SERVER

Wednesday, September 11, 13

slide-27
SLIDE 27

LAVA ASSUMPTIONS

RAMDISK WILL PROVIDE POSIX SHELL BUSYBOX HTTPD GREP CAT AWK IFCONFIG NETWORK CONNECTIVITY FREE SPACE NETWORK ASSUMPTIONS ARE BAD

Wednesday, September 11, 13

slide-28
SLIDE 28

LAVA COMMAND

LAVA_COMMAND ONLY ASSUMES CONSOLE ACCESS RUN COMMANDS STDOUT STORED ON LAVA SERVER ENABLES BOOTLOADER TESTING CURRENTLY UNDER DEVELOPMENT LANDING 2013.09

Wednesday, September 11, 13

slide-29
SLIDE 29

LAVA COMMAND

Wednesday, September 11, 13

slide-30
SLIDE 30

LAVA TEST SHELL

LAVA EXPECTS STDOUT LAVA DOES NOT CARE ABOUT LANGUAGES USERS DEFINE A PARSER REGULAR EXPRESSION LAVA PARSES STDOUT GENERATES RESULTS LAVA TEST DEFINITIONS DEFINED IN YAML PACKAGES FOR INSTALLATION

Wednesday, September 11, 13

slide-31
SLIDE 31

CONTINUOUS INTEGRATION

BUILD | BOOT | TEST | VALIDATION USING LAVA

Wednesday, September 11, 13

slide-32
SLIDE 32

BUILD

BUILD THE BINARIES JENKINS HUDSON HOMEBREW SCRIPTS METADATA GIT REVISION KERNEL VERSION CREATE A LAVA JOB JSON LIBRARY SED TEMPLATE SUBMIT JOB LAVA TOOL (CLI) XML-API JOB ID

Wednesday, September 11, 13

slide-33
SLIDE 33

SED JOB TEMPLATE

Wednesday, September 11, 13

slide-34
SLIDE 34

BOOT

POLL JOB STATUS SUBMITTED RUNNING INCOMPLETE COMPLETE ON COMPLETE DEVICE BOOTED ON INCOMPLETE ERROR DETECTED GET CONSOLE LOG PARSE FOR ERRORS

Wednesday, September 11, 13

slide-35
SLIDE 35

BOOT MONITORING

Wednesday, September 11, 13

slide-36
SLIDE 36

TEST

GATHER TEST RESULTS GENERATE LINK TO TEST RESULTS GET CONSOLE LOG PARSE FOR REGRESSIONS GET TEST RESULTS CONVERT TEST RESULT (OPTIONAL) E-MAIL DEVELOPERS OR MAILING LIST

Wednesday, September 11, 13

slide-37
SLIDE 37

TEST RESULTS

Wednesday, September 11, 13

slide-38
SLIDE 38

LAVA ROADMAP

BZR -> GIT IN PROGRESS LAVA COMMAND IN PROGRESS PACKAGING APT YUM AUTO BISECT PLANNING REPORTING REGRESSIONS KPI TRENDS

Wednesday, September 11, 13

slide-39
SLIDE 39

LAVA RESOURCES

IRC.FREENODE.NET #LINARO-LAVA MAILING LIST

LINARO-VALIDATION@LIST.LINARO.ORG

WIKI

HTTP://WIKI.LINARO.ORG/PLATFORM/LAVA

Wednesday, September 11, 13

slide-40
SLIDE 40

THANK YOU

Wednesday, September 11, 13

slide-41
SLIDE 41

QUESTIONS?

Wednesday, September 11, 13