This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
agl-testframework [2016/07/13 20:43] jsmoeller |
agl-testframework [2020/05/20 01:59] (current) LiXiaoming [Setup] |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ===== Introduction ===== | ||
+ | |||
AGL uses a combination of tools for its CI tests. | AGL uses a combination of tools for its CI tests. | ||
* AGL-JTA (a version of [[http://elinux.org/Fuego|Fuego]] is the frontend - more information can be found here: [[agl-jta|AGL-JTA]] | * AGL-JTA (a version of [[http://elinux.org/Fuego|Fuego]] is the frontend - more information can be found here: [[agl-jta|AGL-JTA]] | ||
- | * [[https://validation.linaro.org/static/docs/index.html|Lava]] as tool to manage the boards remotely. | + | * [[https://validation.linaro.org/static/docs/v2/index.html|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: | 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. | + | * 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: {{:eg-ciat:agl_test_fw_guider.xls|SETUP(xls)}} / {{:eg-ciat:agl_test_fw_guider-mixed.pdf|SETUP(pdf)}} . | ||
+ |