Architecture

KernelCI Overall Architecture

architecture

The first thing worth noting here is that there are two main parts of the overall KernelCI architecture:

API & Pipeline
which orchestrates the native tests initiated by KernelCI via services that communicate directly with the API,
KCIDB
which groups results sent from other CI systems into a common reporting database.

API & Pipeline

The top half of this picture shows native services interacting directly with the API: LAVA test labs, Kubernetes clusters, custom test environments and the job scheduler. These are referred to as the KernelCI Pipeline in a loose sense. Such services can be run pretty much anywhere, they are just API clients with a particular purpose.

KCIDB

Other fully autonomous systems producing their own kernel builds and running their own tests can submit results to KCIDB, which is a BigQuery database to provide a unified kernel test reporting mechanism. Please take a look at this blog post for a comprehensive description: Introducing Common Reporting.

Here’s the list of systems currently submitting data:

The KCIDB engagement reports provide more details about the latest status.

Last modified August 11, 2023