User Tools

Site Tools


agl-testframework

Table of Contents

Introduction

AGL uses a combination of tools for its CI tests.

  • AGL-JTA (a version of Fuego is the frontend - more information can be found here: AGL-JTA
  • Lava as tool to manage the boards remotely.

Both tools can actually work independently, both can execute tests. We combine them to get the best out of both worlds:

  • AGL-JTA/Fuego has an extensive predefined set of tests and strong reporting capabilities
  • LAVA is capable and excels at managing single boards and board-farms (power-up, deployment of filesystem and so on) and exposes a remote API.

Use-cases

From the above you can deduct the following use-cases:

  • In-house lab - for an isolated, in-house lab, AGL-JTA/Fuego is likely your choice. With a small set of boards on the same network, you only need AGL-JTA/Fuego - no LAVA server is needed.
  • Board-Farm - to scale-out the testing and parallelize the execution, we need to manage multiple boards of the same type/family and multiple different boards/brands. In this case you need LAVA to mange the boards.
  • Remote Labs - to distribute the boards across sites and manage them, you need LAVA.

Workflow

The setup supports multiple operation methods:

  • Code-change trigger:
    • Gerrit triggers JTA, which runs the test. Board allocation and bring-up is handled by Lava.
  • Scripted trigger:
    • Script triggers JTA, which runs the test. Board allocation and bring-up is handled by Lava.
  • Manual trigger:
    • Manual trigger in JTA, which runs the test. Board allocation and bring-up is handled by Lava.
  • Direct test:
    • Board allocation, bring-up and test execution through Lava.

Setup

A (WIP) documents describes the setup: SETUP.

agl-testframework.txt · Last modified: 2016/07/14 05:40 by jsmoeller