kernel c i
play

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


  1. KERNEL C.I. USING LINARO’S AUTOMATED VALIDATION ARCHITECTURE Wednesday, September 11, 13

  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

  3. LAVA OVERVIEW Wednesday, September 11, 13

  4. LAVA | LINARO AUTOMATED VALIDATION ARCHITECTURE MAAS @ LINARO PROVEN REAL WORLD ACTIVE DEDICATED TEAM TESTED AUTOMATED REGRESSION TESTING Wednesday, September 11, 13

  5. LAVA ARCHITECTURE A loosely coupled distributed automation framework Wednesday, September 11, 13

  6. LAVA SERVER DJANGO FRONTEND PROVIDES XML-RPC API DJANGO APPS USER AUTHENTICATION LAVA SCHEDULER DECOUPLED COMPONENTS LAVA DASHBOARD FULL STACK EXTENSIBLE STANDALONE CREATE A DJANGO APP AS LAVA EXTENSION WRITTEN IN PYTHON HTTP://VALIDATION.LINARO.ORG Wednesday, September 11, 13

  7. LAVA SERVER Wednesday, September 11, 13

  8. LAVA SCHEDULER LAVA SERVER EXTENSION DISPLAYS STREAMING CONSOLE LOGS INCLUDES A DAEMON DEVICE HEALTH REPORTING USERS SUBMIT JOBS TO THE SCHEDULER SUPPORTS MULTI DEVICE TESTS JOBS DESCRIBED IN JSON DISPLAYS ALL TEST JOBS SCHEDULES JOBS ON DEVICES MANAGES DEVICE STATE HTTP://VALIDATION.LINARO.ORG/SCHEDULER/ Wednesday, September 11, 13

  9. LAVA SCHEDULER Wednesday, September 11, 13

  10. LAVA DASHBOARD LAVA SERVER EXTENSION IMAGE REPORTS MANAGES AND DISPLAYS DATA VISUALIZATION TEST RESULTS MEASUREMENTS BUNDLE STREAMS PASS / FAIL CONTAINER FOR TEST RESULTS PERCENTAGES FILTERS TARGET GOALS HTTP://VALIDATION.LINARO.ORG/DASHBOARD/ Wednesday, September 11, 13

  11. LAVA DASHBOARD Wednesday, September 11, 13

  12. LAVA DISPATCHER CAN BE INVOKED BY DEPLOYS SOFTWARE SCHEDULER OR COMMAND LINE SYSTEM IMAGES DIRECTLY INTERACTS BOOTLOADERS HARDWARE KERNELS / MODULES SERIAL CONFIGURES BOOTLOADER ADB / FASTBOOT RUNS TESTS IPMI / SOL / TFTP / PXE ANY LANGUAGE Wednesday, September 11, 13

  13. LAVA DISPATCHER Wednesday, September 11, 13

  14. LAVA TOOL COMMAND LINE UTILITY CREATE BUNDLE STREAMS UTILIZES XML-RPC API SCHEDULE JOB POLL JOB STATUS RETRIEVE OR PUSH RESULTS RETRIEVE CONSOLE OUTPUT Wednesday, September 11, 13

  15. KERNEL DEPLOYMENT USING LAVA AS A DEVELOPER Wednesday, September 11, 13

  16. DEFINE A JOB ENCODED IN JSON DESCRIBES SOFTWARE TO DEPLOY BOOTLOADER CONFIGURATION TESTS TO RUN BUNDLE STREAM FOR RESULTS Wednesday, September 11, 13

  17. SELECT A TARGET TARGET TIMEOUT (OPTIONAL) SPECIFIC DEVICE INTEGER DEVICE TYPE GROUP JOB NAME (OPTIONAL) STRING DEBUG LEVEL (OPTIONAL) Wednesday, September 11, 13

  18. DEPLOY A KERNEL DEPLOY_LINARO_KERNEL URLS KERNEL (REQUIRED) FILE:// RAMDISK (OPTIONAL) HTTP(S):// DTB (OPTIONAL) SCP:// FIRMWARE (OPTIONAL) DATA:// BOOTLOADER BASE64 ENCODED (OPTIONAL) COMING SOON Wednesday, September 11, 13

  19. BOOT BOOT_LINARO_IMAGE BOOT COMMAND STANZA BOOT THE TARGET INTO SEND / EXPECT TEST IMAGE SENDLINE DEFAULT BOOT COMMANDS ARE DEFINED BY LAVA CUSTOM BOOT COMMANDS CAN BE EMBEDDED IN JOB Wednesday, September 11, 13

  20. INTERACTIVE BOOT COMMANDS Wednesday, September 11, 13

  21. INTERACTIVE BOOT COMMANDS Wednesday, September 11, 13

  22. RUN A TEST LAVA_TEST_SHELL PARSES STDOUT TEST DESCRIPTION URLS DEFINED IN YAML FILE:// INSTALL STEPS HTTP:// RUN STEPS GIT RUNS ON THE TARGET BZR Wednesday, September 11, 13

  23. SUBMIT RESULTS SUBMIT_RESULTS BUNDLE STEAM SERVER BUNDLES LAVA RESULTS SUBMITS THEM TO DASHBOARD Wednesday, September 11, 13

  24. EXAMPLE JOB Wednesday, September 11, 13

  25. UNDER THE HOOD LAVA DISPATCHER SETS ENVIRONMENT VARIABLES DOWNLOADS BINARIES LAVA_KERNEL POWERS ON DEVICE LAVA_RAMDISK ENTERS THE BOOTLOADER LAVA_DTB LAVA_BOOTLOADER LAVA_FIRMWARE Wednesday, September 11, 13

  26. UNDER THE HOOD RUN THE BOOT PARSES RESULTS COMMANDS PULLS RESULTS SERVES BINARIES OVER TFTP OVER TCP/IP WAITS FOR PROMPT SUBMITS RESULTS BUNDLE DEPLOYS TESTS TO SERVER OVER TCP/IP INVOKES TEST RUNNER Wednesday, September 11, 13

  27. LAVA ASSUMPTIONS RAMDISK WILL PROVIDE IFCONFIG POSIX SHELL NETWORK CONNECTIVITY BUSYBOX FREE SPACE HTTPD NETWORK ASSUMPTIONS GREP ARE BAD CAT AWK Wednesday, September 11, 13

  28. LAVA COMMAND LAVA_COMMAND CURRENTLY UNDER DEVELOPMENT ONLY ASSUMES CONSOLE ACCESS LANDING 2013.09 RUN COMMANDS STDOUT STORED ON LAVA SERVER ENABLES BOOTLOADER TESTING Wednesday, September 11, 13

  29. LAVA COMMAND Wednesday, September 11, 13

  30. LAVA TEST SHELL LAVA EXPECTS LAVA PARSES STDOUT STDOUT GENERATES RESULTS LAVA DOES NOT CARE LAVA TEST DEFINITIONS ABOUT LANGUAGES DEFINED IN YAML USERS DEFINE A PARSER PACKAGES FOR REGULAR EXPRESSION INSTALLATION Wednesday, September 11, 13

  31. CONTINUOUS INTEGRATION BUILD | BOOT | TEST | VALIDATION USING LAVA Wednesday, September 11, 13

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

  33. SED JOB TEMPLATE Wednesday, September 11, 13

  34. BOOT POLL JOB STATUS ON COMPLETE SUBMITTED DEVICE BOOTED RUNNING ON INCOMPLETE INCOMPLETE ERROR DETECTED COMPLETE GET CONSOLE LOG PARSE FOR ERRORS Wednesday, September 11, 13

  35. BOOT MONITORING Wednesday, September 11, 13

  36. TEST GATHER TEST RESULTS CONVERT TEST RESULT (OPTIONAL) GENERATE LINK TO TEST RESULTS E-MAIL DEVELOPERS OR MAILING LIST GET CONSOLE LOG PARSE FOR REGRESSIONS GET TEST RESULTS Wednesday, September 11, 13

  37. TEST RESULTS Wednesday, September 11, 13

  38. LAVA ROADMAP BZR -> GIT AUTO BISECT IN PROGRESS PLANNING LAVA COMMAND REPORTING IN PROGRESS REGRESSIONS PACKAGING KPI TRENDS APT YUM Wednesday, September 11, 13

  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

  40. THANK YOU Wednesday, September 11, 13

  41. QUESTIONS? Wednesday, September 11, 13

Recommend


More recommend