kernelci / kernelci-core

Core KernelCI tools
https://kernelci.org
GNU Lesser General Public License v2.1
107 stars 97 forks source link

Formalize a way for lab owner to provide availlable qemu arch #422

Open montjoie opened 4 years ago

montjoie commented 4 years ago

The qemu device-type is very generic, the default LAVA install qemu for i386/x86_64 but other arch could not be supported. This will be a problem when adding new arches like riscV, MIPS or SPARC.

Forcing lab owners to install all arches is not a solution, since some OS could lack support for one.

I think the easiest (and dynamic) way is to add arch tag on the qemu. Adding tag is easy and fast, so lab owner could change their mind fast.

Another solution could be to filter qemu arches via lab-config, but this is not a solution since within a lab, different qemu worker could exists with different qemu arches supported for each.

gctucker commented 4 years ago

How about providing Docker images with QEMU installed as part of the job definition? I thought that was supported in LAVA now.

montjoie commented 4 years ago

This needs that all labs will be upgraded to the version which support it. What about non-LAVA labs ? I need to check how lab-seattle handle qemu.

But supporting this kind of jobs also need time. I will try to work on it, but probably we will have RiscV/MIPS qemu before I finish.

gctucker commented 4 years ago

Non-LAVA labs can also use a Docker image. We can also run QEMU jobs on cloud VMs via Kubernetes, except we would miss on the current way of reporting results with the LAVA callback.

We could also have a QEMU device type variants that makes use of Docker in LAVA, and only use that in labs that support it via the YAML configuration.