* Central repo for VirtIO conformance tests?
@ 2025-03-31 10:38 Alex Bennée
2025-03-31 11:52 ` Stefan Hajnoczi
` (2 more replies)
0 siblings, 3 replies; 11+ messages in thread
From: Alex Bennée @ 2025-03-31 10:38 UTC (permalink / raw)
To: Rust VMM, QEMU Devel, virtio-comment, VirtIO Dev List
Cc: Bill Mills, Manos Pitsidianakis, Michael S. Tsirkin,
David Hildenbrand, Stefan Hajnoczi, Stefano Garzarella,
Dmitry Osipenko, Matias Vara Larsen, Sergio Lopez
Hi,
We've been working with Panasonic to expand the testing of VirtIO across
a range of hypervisors and VMMs. We've tackled this with two approaches:
- simple unikernel to verify features and basic functions common
- rootfs images to exercise the whole device
The unikernel utilizes rcore-os's no_std VirtIO drivers to discover and
initialize a range of VirtIO devices. The tests mostly focus on checking
no unknown feature bits are advertised as well as ensuring features
dependencies are properly realizable. This is useful for those
interested in moving workloads between hypervisors to ensure you don't
end up relying on a proprietary feature that aren't available elsewhere.
The virgl test also does some very basic blob mapping to check the
underlying mechanics are working.
The unikernel outputs a TAP stream to make integrating into a test
harness easier.
You can find the current state here:
https://git.codelinaro.org/manos.pitsidianakis/virtio-tests
While we only build an aarch64 unikernel the upstream drivers have
examples for riscv and x86_64 as well.
As more complex VirtIO devices like GPUs tend to have a significant
user-space component, we have also started building Linux rootfs images
to exercise those. The images themselves are built against a baseline
architecture so they can be used on as wide a range of hardware as
possible. They have been built with buildroot to make them lightweight
and as close to the upstream projects as possible without relying on
particular distro support. You may have seen the recent aarch64 GPU
image being added to QEMU's functional tests recently:
https://gitlab.com/qemu-project/qemu/-/blob/master/tests/functional/test_aarch64_virt_gpu.py
I'm currently working on a similar image utilizing a subset of the
blktests project to exercise the VirtIO block devices. The various
recipes can be found here:
https://gitlab.com/stsquad/buildroot/-/tree/adding-blktests?ref_type=heads
although the intention is for all the recipes and basic QEMU based tests
to be up-streamed into buildroot in due course. While I will no doubt
expand the functional tests in QEMU over time to utilize these images,
there is a wider question of where would be a good place to host a more
comprehensive VirtIO test suite? While useful for validating proprietary
hypervisors there are also a bunch of other VMMs and VirtIO backends
other than QEMU:
- rust-vmm's vhost-device collection of vhost-user backends
- CrosVM
- Cloud Hypervisor
- libkrun
As well as using VirtIO backends with other hypervisors such as Xen,
Gunyah and WHPX.
So this brings me to the question posed in the subject. Where would a
good place be to host these conformance tests?
My initial thought was to see if this is something OASIS could host as
part of the specification however I'm not sure OASIS is set up for such a
thing.
We could host it as part of the QEMU project as a service to the wider
community. While it should be pretty easy to expand QEMU's own tests to
work with multiple hypervisors, its test machinery isn't really setup
for non-QEMU VMMs. Ideally we would want the core repository to be able
to run on multiple hypervisors and use different VMMs and backends
depending on where they are being run.
The other option I considered was hosting with the rust-vmm project -
although maybe that just makes sense for the unikernel tests as they are
rust based. We certainly need more automated testing of the vhost-device
repository which can serve as a backend to multiple VMMs and
hypervisors.
So what do people think? Where would be a good place for common test
repository to live?
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Central repo for VirtIO conformance tests?
2025-03-31 10:38 Central repo for VirtIO conformance tests? Alex Bennée
@ 2025-03-31 11:52 ` Stefan Hajnoczi
[not found] ` <Z-qHKUveoHc85koj@redhat.com>
[not found] ` <CAJSP0QW6=SvLwkuTsZTKqCH9OQJdH8XV32hDZ9Z4o6AbCbOqiA@mail.gmail.com>
2025-05-19 7:43 ` Manos Pitsidianakis
2 siblings, 1 reply; 11+ messages in thread
From: Stefan Hajnoczi @ 2025-03-31 11:52 UTC (permalink / raw)
To: Alex Bennée
Cc: Rust VMM, QEMU Devel, virtio-comment, VirtIO Dev List, Bill Mills,
Manos Pitsidianakis, Michael S. Tsirkin, David Hildenbrand,
Stefan Hajnoczi, Stefano Garzarella, Dmitry Osipenko,
Matias Vara Larsen, Sergio Lopez
On Mon, Mar 31, 2025 at 6:39 AM Alex Bennée <alex.bennee@linaro.org> wrote:
> So what do people think? Where would be a good place for common test
> repository to live?
Maintaining the tests alongside the VIRTIO spec seems like a good fit
to me. Here is information on how to create a GitHub repo under the
OASIS VIRTIO Technical Committee:
https://www.oasis-open.org/open-repositories/
I don't see a reason to maintain the tests under QEMU or rust-vmm
unless they provide some unique project infrastructure that an
independent project would lack or need to reinvent.
If it is not possible to host the tests under OASIS then they could be
hosted independently (as a separate organization on Codeberg, GitLab,
GitHub, etc) and not on any contributor company's infrastructure to
make them more sustainable and neutral for the long term.
Stefan
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Central repo for VirtIO conformance tests?
[not found] ` <Z-qHKUveoHc85koj@redhat.com>
@ 2025-03-31 12:20 ` Stefan Hajnoczi
0 siblings, 0 replies; 11+ messages in thread
From: Stefan Hajnoczi @ 2025-03-31 12:20 UTC (permalink / raw)
To: Daniel P. Berrangé
Cc: Stefan Hajnoczi, Alex Bennée, Rust VMM, QEMU Devel,
virtio-comment, VirtIO Dev List, Bill Mills, Manos Pitsidianakis,
Michael S. Tsirkin, David Hildenbrand, Stefano Garzarella,
Dmitry Osipenko, Matias Vara Larsen, Sergio Lopez
[-- Attachment #1: Type: text/plain, Size: 1371 bytes --]
On Mon, Mar 31, 2025 at 01:14:33PM +0100, Daniel P. Berrangé wrote:
> On Mon, Mar 31, 2025 at 07:52:33AM -0400, Stefan Hajnoczi wrote:
> > On Mon, Mar 31, 2025 at 6:39 AM Alex Bennée <alex.bennee@linaro.org> wrote:
> > > So what do people think? Where would be a good place for common test
> > > repository to live?
> >
> > Maintaining the tests alongside the VIRTIO spec seems like a good fit
> > to me. Here is information on how to create a GitHub repo under the
> > OASIS VIRTIO Technical Committee:
> > https://www.oasis-open.org/open-repositories/
> >
> > I don't see a reason to maintain the tests under QEMU or rust-vmm
> > unless they provide some unique project infrastructure that an
> > independent project would lack or need to reinvent.
>
> IMHO opening that very link above illustrates the reason why *NOT* to
> host this under OASIS. Any potential contributor is faced with a 4 page
> long blurb of all sorts of rules & legal requirements, including
>
> "Each TC Open Repository shall be subject to a Contributor
> License Agreement (“CLA”) by which all persons making repo
> contributions into it are bound."
>
> Hosting anywhere else would be better from the POV of removing barriers
> to potential contribution.
I didn't notice the CLA requirement. I agree, it's better to host it
elsewhere.
Stefan
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Central repo for VirtIO conformance tests?
[not found] ` <CAJSP0QW6=SvLwkuTsZTKqCH9OQJdH8XV32hDZ9Z4o6AbCbOqiA@mail.gmail.com>
@ 2025-03-31 12:36 ` Alex Bennée
0 siblings, 0 replies; 11+ messages in thread
From: Alex Bennée @ 2025-03-31 12:36 UTC (permalink / raw)
To: Stefan Hajnoczi
Cc: Rust VMM, QEMU Devel, virtio-comment, VirtIO Dev List, Bill Mills,
Manos Pitsidianakis, Michael S. Tsirkin, David Hildenbrand,
Stefan Hajnoczi, Stefano Garzarella, Dmitry Osipenko,
Matias Vara Larsen, Sergio Lopez
Stefan Hajnoczi <stefanha@gmail.com> writes:
> On Mon, Mar 31, 2025 at 6:39 AM Alex Bennée <alex.bennee@linaro.org> wrote:
>> The unikernel utilizes rcore-os's no_std VirtIO drivers to discover and
>> initialize a range of VirtIO devices.
>
> https://github.com/rcore-os/virtio-drivers
>
> I noticed that VIRTIO_F_VERSION_1, VIRTIO_F_RING_PACKED, and hardware
> device support are missing according to the readme. Those are
> important features for real-world test coverage.
At the moment most of the testing is around feature negotiation so we
don't get to the point that we are need packed virtqs. However it would
be useful to upstream such support for their use generally - I know
there are some downstream projects that have stuff to upstream in due
course.
The original idea for the feature bit tests was to utilise the kernels
kunit framework. However that was outside the scope of what kunit which
is really focused on testing kernel internals rather than the HW
interface.
We did consider expanding the kvm-unit-test uni-kernels but that would
either involve importing kernel bits or a fairly big C re-implementation
of it. At least by expanding the rcore-os drivers we will have two
different driver stacks in two different languages.
> Or is the idea to use the unikernel for low-level device
> initialization and the Linux image for tests that do I/O?
So far the rootfs images get by far the largest coverage because they
can more easily trigger a whole range of conditions. While VirtIO is
intended to be OS and hypervisor agnostic Linux remains the system with
the widest and most functional coverage of the interfaces.
>
> Stefan
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Central repo for VirtIO conformance tests?
2025-03-31 10:38 Central repo for VirtIO conformance tests? Alex Bennée
2025-03-31 11:52 ` Stefan Hajnoczi
[not found] ` <CAJSP0QW6=SvLwkuTsZTKqCH9OQJdH8XV32hDZ9Z4o6AbCbOqiA@mail.gmail.com>
@ 2025-05-19 7:43 ` Manos Pitsidianakis
2025-05-19 7:54 ` Michael S. Tsirkin
2 siblings, 1 reply; 11+ messages in thread
From: Manos Pitsidianakis @ 2025-05-19 7:43 UTC (permalink / raw)
To: virtio-comment, VirtIO Dev List
Cc: Bill Mills, Michael S. Tsirkin, David Hildenbrand,
Stefan Hajnoczi, Stefano Garzarella, Dmitry Osipenko,
Sergio Lopez, Cornelia Huck, Alex Bennée
On Mon, Mar 31, 2025 at 1:38 PM Alex Bennée <alex.bennee@linaro.org> wrote:
>
>
> Hi,
>
> We've been working with Panasonic to expand the testing of VirtIO across
> a range of hypervisors and VMMs. We've tackled this with two approaches:
>
> - simple unikernel to verify features and basic functions common
> - rootfs images to exercise the whole device
>
> The unikernel utilizes rcore-os's no_std VirtIO drivers to discover and
> initialize a range of VirtIO devices. The tests mostly focus on checking
> no unknown feature bits are advertised as well as ensuring features
> dependencies are properly realizable. This is useful for those
> interested in moving workloads between hypervisors to ensure you don't
> end up relying on a proprietary feature that aren't available elsewhere.
>
> The virgl test also does some very basic blob mapping to check the
> underlying mechanics are working.
>
> The unikernel outputs a TAP stream to make integrating into a test
> harness easier.
>
> You can find the current state here:
>
> https://git.codelinaro.org/manos.pitsidianakis/virtio-tests
>
> While we only build an aarch64 unikernel the upstream drivers have
> examples for riscv and x86_64 as well.
>
> As more complex VirtIO devices like GPUs tend to have a significant
> user-space component, we have also started building Linux rootfs images
> to exercise those. The images themselves are built against a baseline
> architecture so they can be used on as wide a range of hardware as
> possible. They have been built with buildroot to make them lightweight
> and as close to the upstream projects as possible without relying on
> particular distro support. You may have seen the recent aarch64 GPU
> image being added to QEMU's functional tests recently:
>
> https://gitlab.com/qemu-project/qemu/-/blob/master/tests/functional/test_aarch64_virt_gpu.py
>
> I'm currently working on a similar image utilizing a subset of the
> blktests project to exercise the VirtIO block devices. The various
> recipes can be found here:
>
> https://gitlab.com/stsquad/buildroot/-/tree/adding-blktests?ref_type=heads
>
> although the intention is for all the recipes and basic QEMU based tests
> to be up-streamed into buildroot in due course. While I will no doubt
> expand the functional tests in QEMU over time to utilize these images,
> there is a wider question of where would be a good place to host a more
> comprehensive VirtIO test suite? While useful for validating proprietary
> hypervisors there are also a bunch of other VMMs and VirtIO backends
> other than QEMU:
>
> - rust-vmm's vhost-device collection of vhost-user backends
> - CrosVM
> - Cloud Hypervisor
> - libkrun
>
> As well as using VirtIO backends with other hypervisors such as Xen,
> Gunyah and WHPX.
>
> So this brings me to the question posed in the subject. Where would a
> good place be to host these conformance tests?
>
> My initial thought was to see if this is something OASIS could host as
> part of the specification however I'm not sure OASIS is set up for such a
> thing.
>
> We could host it as part of the QEMU project as a service to the wider
> community. While it should be pretty easy to expand QEMU's own tests to
> work with multiple hypervisors, its test machinery isn't really setup
> for non-QEMU VMMs. Ideally we would want the core repository to be able
> to run on multiple hypervisors and use different VMMs and backends
> depending on where they are being run.
>
> The other option I considered was hosting with the rust-vmm project -
> although maybe that just makes sense for the unikernel tests as they are
> rust based. We certainly need more automated testing of the vhost-device
> repository which can serve as a backend to multiple VMMs and
> hypervisors.
>
> So what do people think? Where would be a good place for common test
> repository to live?
>
> --
> Alex Bennée
> Virtualisation Tech Lead @ Linaro
Pinging this thread to ask the OASIS people: Would it be possible to
host a software project (this testsuite) under OASIS but with a
lighter contribution process? We expect everyone to be contributing to
them, from open source/proprietary hypervisor developers, to kernel/OS
developers, hobbyists and professionals alike. So I think a low
barrier of entry would be reasonable here.
Seeing as a test suite is essentially tied to the published VIRTIO
spec itself it also makes it a good fit semantically. Having a suite
with multiple VIRTIO implementations including slim images with Linux
would also give a wider frame of reference for downstream consumers of
the spec. Currently, the Linux kernel is the de facto (because it's
also open source) VIRTIO implementation on the frontend side and
oftentimes we end up looking at what Linux does to implement backends.
We'd like to potentially:
- Expand the array of rootfs images with more Linux userspace tests
for more devices
- Expand the array of rootfs images with other open source OSes as
they gain VIRTIO functionalities
- Implement missing VIRTIO spec features in our unikernel test and
also exercise realistic but basic VIRTIO command use scenarios for
more devices
- (This is on my personal wishlist) write a VIRTIO fuzzer framework,
similar in spirit to Google's syzkaller project (unsupervised
coverage-guided kernel fuzzer)
- As a stretch goal, provide a reference test runner framework to run
the images with QEMU and rust-vmm vhost-user backends for people to
adapt to their setups.
PS: The git repositories Alex linked are temporarily inaccessible due
to internal unrelated issues, and will be public again.
--
Manos Pitsidianakis
Emulation and Virtualization Engineer at Linaro Ltd
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Central repo for VirtIO conformance tests?
2025-05-19 7:43 ` Manos Pitsidianakis
@ 2025-05-19 7:54 ` Michael S. Tsirkin
2025-05-19 8:03 ` Manos Pitsidianakis
0 siblings, 1 reply; 11+ messages in thread
From: Michael S. Tsirkin @ 2025-05-19 7:54 UTC (permalink / raw)
To: Manos Pitsidianakis
Cc: virtio-comment, VirtIO Dev List, Bill Mills, David Hildenbrand,
Stefan Hajnoczi, Stefano Garzarella, Dmitry Osipenko,
Sergio Lopez, Cornelia Huck, Alex Bennée
On Mon, May 19, 2025 at 10:43:33AM +0300, Manos Pitsidianakis wrote:
> Pinging this thread to ask the OASIS people: Would it be possible to
> host a software project (this testsuite) under OASIS but with a
> lighter contribution process? We expect everyone to be contributing to
> them, from open source/proprietary hypervisor developers, to kernel/OS
> developers, hobbyists and professionals alike. So I think a low
> barrier of entry would be reasonable here.
Take a look here pls:
https://www.oasis-open.org/open-repositories/#licensingRules
> Seeing as a test suite is essentially tied to the published VIRTIO
> spec itself it also makes it a good fit semantically. Having a suite
> with multiple VIRTIO implementations including slim images with Linux
> would also give a wider frame of reference for downstream consumers of
> the spec. Currently, the Linux kernel is the de facto (because it's
> also open source) VIRTIO implementation on the frontend side and
> oftentimes we end up looking at what Linux does to implement backends.
>
> We'd like to potentially:
>
> - Expand the array of rootfs images with more Linux userspace tests
> for more devices
> - Expand the array of rootfs images with other open source OSes as
> they gain VIRTIO functionalities
> - Implement missing VIRTIO spec features in our unikernel test and
> also exercise realistic but basic VIRTIO command use scenarios for
> more devices
> - (This is on my personal wishlist) write a VIRTIO fuzzer framework,
> similar in spirit to Google's syzkaller project (unsupervised
> coverage-guided kernel fuzzer)
> - As a stretch goal, provide a reference test runner framework to run
> the images with QEMU and rust-vmm vhost-user backends for people to
> adapt to their setups.
>
> PS: The git repositories Alex linked are temporarily inaccessible due
> to internal unrelated issues, and will be public again.
At the moment, from the above link, and if you want it tied to OASIS
open repositories, it has to be one of:
BSD-3-Clause License (which shall apply if the TC makes no license selection in its approval action); Apache License v 2.0; CC-BY 2.0; CC-BY 4.0; Eclipse Public License v 1.0.
I am not a lawyer, but can full OS images we licensed under one of
these? If not, you are better off creating the repository itself outside
the confines of OASIS.
You can still use e.g. virtio-dev mailing list for communication.
> --
> Manos Pitsidianakis
> Emulation and Virtualization Engineer at Linaro Ltd
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Central repo for VirtIO conformance tests?
2025-05-19 7:54 ` Michael S. Tsirkin
@ 2025-05-19 8:03 ` Manos Pitsidianakis
2025-05-19 8:15 ` Michael S. Tsirkin
0 siblings, 1 reply; 11+ messages in thread
From: Manos Pitsidianakis @ 2025-05-19 8:03 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: virtio-comment, VirtIO Dev List, Bill Mills, David Hildenbrand,
Stefan Hajnoczi, Stefano Garzarella, Dmitry Osipenko,
Sergio Lopez, Cornelia Huck, Alex Bennée
Hello Michael, thanks for the reply,
On Mon, May 19, 2025 at 10:54 AM Michael S. Tsirkin <mst@redhat.com> wrote:
>
> On Mon, May 19, 2025 at 10:43:33AM +0300, Manos Pitsidianakis wrote:
> > Pinging this thread to ask the OASIS people: Would it be possible to
> > host a software project (this testsuite) under OASIS but with a
> > lighter contribution process? We expect everyone to be contributing to
> > them, from open source/proprietary hypervisor developers, to kernel/OS
> > developers, hobbyists and professionals alike. So I think a low
> > barrier of entry would be reasonable here.
>
> Take a look here pls:
> https://www.oasis-open.org/open-repositories/#licensingRules
>
>
>
> > Seeing as a test suite is essentially tied to the published VIRTIO
> > spec itself it also makes it a good fit semantically. Having a suite
> > with multiple VIRTIO implementations including slim images with Linux
> > would also give a wider frame of reference for downstream consumers of
> > the spec. Currently, the Linux kernel is the de facto (because it's
> > also open source) VIRTIO implementation on the frontend side and
> > oftentimes we end up looking at what Linux does to implement backends.
> >
> > We'd like to potentially:
> >
> > - Expand the array of rootfs images with more Linux userspace tests
> > for more devices
> > - Expand the array of rootfs images with other open source OSes as
> > they gain VIRTIO functionalities
> > - Implement missing VIRTIO spec features in our unikernel test and
> > also exercise realistic but basic VIRTIO command use scenarios for
> > more devices
> > - (This is on my personal wishlist) write a VIRTIO fuzzer framework,
> > similar in spirit to Google's syzkaller project (unsupervised
> > coverage-guided kernel fuzzer)
> > - As a stretch goal, provide a reference test runner framework to run
> > the images with QEMU and rust-vmm vhost-user backends for people to
> > adapt to their setups.
> >
> > PS: The git repositories Alex linked are temporarily inaccessible due
> > to internal unrelated issues, and will be public again.
>
>
> At the moment, from the above link, and if you want it tied to OASIS
> open repositories, it has to be one of:
>
> BSD-3-Clause License (which shall apply if the TC makes no license selection in its approval action); Apache License v 2.0; CC-BY 2.0; CC-BY 4.0; Eclipse Public License v 1.0.
OK that's doable and completely reasonable.
> I am not a lawyer, but can full OS images we licensed under one of
> these? If not, you are better off creating the repository itself outside
> the confines of OASIS.
We'd be hosting essentially build recipes for the images, for tests
where we use other people's code. The build recipes would have the
same license.
If I understand the CLA requirement correctly, even if the
contribution is merged by a maintainer who has signed the CLA, the
original contributor who has no write access to the repository, has to
sign the CLA as well?
> You can still use e.g. virtio-dev mailing list for communication.
>
> > --
> > Manos Pitsidianakis
> > Emulation and Virtualization Engineer at Linaro Ltd
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Central repo for VirtIO conformance tests?
2025-05-19 8:03 ` Manos Pitsidianakis
@ 2025-05-19 8:15 ` Michael S. Tsirkin
2025-05-19 8:18 ` Manos Pitsidianakis
0 siblings, 1 reply; 11+ messages in thread
From: Michael S. Tsirkin @ 2025-05-19 8:15 UTC (permalink / raw)
To: Manos Pitsidianakis
Cc: virtio-comment, VirtIO Dev List, Bill Mills, David Hildenbrand,
Stefan Hajnoczi, Stefano Garzarella, Dmitry Osipenko,
Sergio Lopez, Cornelia Huck, Alex Bennée
On Mon, May 19, 2025 at 11:03:43AM +0300, Manos Pitsidianakis wrote:
> Hello Michael, thanks for the reply,
>
> On Mon, May 19, 2025 at 10:54 AM Michael S. Tsirkin <mst@redhat.com> wrote:
> >
> > On Mon, May 19, 2025 at 10:43:33AM +0300, Manos Pitsidianakis wrote:
> > > Pinging this thread to ask the OASIS people: Would it be possible to
> > > host a software project (this testsuite) under OASIS but with a
> > > lighter contribution process? We expect everyone to be contributing to
> > > them, from open source/proprietary hypervisor developers, to kernel/OS
> > > developers, hobbyists and professionals alike. So I think a low
> > > barrier of entry would be reasonable here.
> >
> > Take a look here pls:
> > https://www.oasis-open.org/open-repositories/#licensingRules
> >
> >
> >
> > > Seeing as a test suite is essentially tied to the published VIRTIO
> > > spec itself it also makes it a good fit semantically. Having a suite
> > > with multiple VIRTIO implementations including slim images with Linux
> > > would also give a wider frame of reference for downstream consumers of
> > > the spec. Currently, the Linux kernel is the de facto (because it's
> > > also open source) VIRTIO implementation on the frontend side and
> > > oftentimes we end up looking at what Linux does to implement backends.
> > >
> > > We'd like to potentially:
> > >
> > > - Expand the array of rootfs images with more Linux userspace tests
> > > for more devices
> > > - Expand the array of rootfs images with other open source OSes as
> > > they gain VIRTIO functionalities
> > > - Implement missing VIRTIO spec features in our unikernel test and
> > > also exercise realistic but basic VIRTIO command use scenarios for
> > > more devices
> > > - (This is on my personal wishlist) write a VIRTIO fuzzer framework,
> > > similar in spirit to Google's syzkaller project (unsupervised
> > > coverage-guided kernel fuzzer)
> > > - As a stretch goal, provide a reference test runner framework to run
> > > the images with QEMU and rust-vmm vhost-user backends for people to
> > > adapt to their setups.
> > >
> > > PS: The git repositories Alex linked are temporarily inaccessible due
> > > to internal unrelated issues, and will be public again.
> >
> >
> > At the moment, from the above link, and if you want it tied to OASIS
> > open repositories, it has to be one of:
> >
> > BSD-3-Clause License (which shall apply if the TC makes no license selection in its approval action); Apache License v 2.0; CC-BY 2.0; CC-BY 4.0; Eclipse Public License v 1.0.
>
> OK that's doable and completely reasonable.
>
> > I am not a lawyer, but can full OS images we licensed under one of
> > these? If not, you are better off creating the repository itself outside
> > the confines of OASIS.
>
> We'd be hosting essentially build recipes for the images, for tests
> where we use other people's code. The build recipes would have the
> same license.
>
> If I understand the CLA requirement correctly, even if the
> contribution is merged by a maintainer who has signed the CLA, the
> original contributor who has no write access to the repository, has to
> sign the CLA as well?
I think is would be the OASIS equivalent of the Linux DCO:
Each person making a repo contribution must be bound to the terms of the
CLA, by obtaining their signature (which may be an equivalent electronic
assent)
If you like I can reach out to OASIS to confirm.
> > You can still use e.g. virtio-dev mailing list for communication.
> >
> > > --
> > > Manos Pitsidianakis
> > > Emulation and Virtualization Engineer at Linaro Ltd
> >
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Central repo for VirtIO conformance tests?
2025-05-19 8:15 ` Michael S. Tsirkin
@ 2025-05-19 8:18 ` Manos Pitsidianakis
2025-05-19 12:30 ` Michael S. Tsirkin
2025-05-29 21:34 ` Michael S. Tsirkin
0 siblings, 2 replies; 11+ messages in thread
From: Manos Pitsidianakis @ 2025-05-19 8:18 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: virtio-comment, VirtIO Dev List, Bill Mills, David Hildenbrand,
Stefan Hajnoczi, Stefano Garzarella, Dmitry Osipenko,
Sergio Lopez, Cornelia Huck, Alex Bennée
On Mon, May 19, 2025 at 11:15 AM Michael S. Tsirkin <mst@redhat.com> wrote:
>
> On Mon, May 19, 2025 at 11:03:43AM +0300, Manos Pitsidianakis wrote:
> > Hello Michael, thanks for the reply,
> >
> > On Mon, May 19, 2025 at 10:54 AM Michael S. Tsirkin <mst@redhat.com> wrote:
> > >
> > > On Mon, May 19, 2025 at 10:43:33AM +0300, Manos Pitsidianakis wrote:
> > > > Pinging this thread to ask the OASIS people: Would it be possible to
> > > > host a software project (this testsuite) under OASIS but with a
> > > > lighter contribution process? We expect everyone to be contributing to
> > > > them, from open source/proprietary hypervisor developers, to kernel/OS
> > > > developers, hobbyists and professionals alike. So I think a low
> > > > barrier of entry would be reasonable here.
> > >
> > > Take a look here pls:
> > > https://www.oasis-open.org/open-repositories/#licensingRules
> > >
> > >
> > >
> > > > Seeing as a test suite is essentially tied to the published VIRTIO
> > > > spec itself it also makes it a good fit semantically. Having a suite
> > > > with multiple VIRTIO implementations including slim images with Linux
> > > > would also give a wider frame of reference for downstream consumers of
> > > > the spec. Currently, the Linux kernel is the de facto (because it's
> > > > also open source) VIRTIO implementation on the frontend side and
> > > > oftentimes we end up looking at what Linux does to implement backends.
> > > >
> > > > We'd like to potentially:
> > > >
> > > > - Expand the array of rootfs images with more Linux userspace tests
> > > > for more devices
> > > > - Expand the array of rootfs images with other open source OSes as
> > > > they gain VIRTIO functionalities
> > > > - Implement missing VIRTIO spec features in our unikernel test and
> > > > also exercise realistic but basic VIRTIO command use scenarios for
> > > > more devices
> > > > - (This is on my personal wishlist) write a VIRTIO fuzzer framework,
> > > > similar in spirit to Google's syzkaller project (unsupervised
> > > > coverage-guided kernel fuzzer)
> > > > - As a stretch goal, provide a reference test runner framework to run
> > > > the images with QEMU and rust-vmm vhost-user backends for people to
> > > > adapt to their setups.
> > > >
> > > > PS: The git repositories Alex linked are temporarily inaccessible due
> > > > to internal unrelated issues, and will be public again.
> > >
> > >
> > > At the moment, from the above link, and if you want it tied to OASIS
> > > open repositories, it has to be one of:
> > >
> > > BSD-3-Clause License (which shall apply if the TC makes no license selection in its approval action); Apache License v 2.0; CC-BY 2.0; CC-BY 4.0; Eclipse Public License v 1.0.
> >
> > OK that's doable and completely reasonable.
> >
> > > I am not a lawyer, but can full OS images we licensed under one of
> > > these? If not, you are better off creating the repository itself outside
> > > the confines of OASIS.
> >
> > We'd be hosting essentially build recipes for the images, for tests
> > where we use other people's code. The build recipes would have the
> > same license.
> >
> > If I understand the CLA requirement correctly, even if the
> > contribution is merged by a maintainer who has signed the CLA, the
> > original contributor who has no write access to the repository, has to
> > sign the CLA as well?
>
>
> I think is would be the OASIS equivalent of the Linux DCO:
> Each person making a repo contribution must be bound to the terms of the
> CLA, by obtaining their signature (which may be an equivalent electronic
> assent)
So just a Signed-off-by? That massively simplifies things!
> If you like I can reach out to OASIS to confirm.
Yes, that'd be very helpful, thank you.
--
Manos Pitsidianakis
Emulation and Virtualization Engineer at Linaro Ltd
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Central repo for VirtIO conformance tests?
2025-05-19 8:18 ` Manos Pitsidianakis
@ 2025-05-19 12:30 ` Michael S. Tsirkin
2025-05-29 21:34 ` Michael S. Tsirkin
1 sibling, 0 replies; 11+ messages in thread
From: Michael S. Tsirkin @ 2025-05-19 12:30 UTC (permalink / raw)
To: Manos Pitsidianakis
Cc: virtio-comment, VirtIO Dev List, Bill Mills, David Hildenbrand,
Stefan Hajnoczi, Stefano Garzarella, Dmitry Osipenko,
Sergio Lopez, Cornelia Huck, Alex Bennée
On Mon, May 19, 2025 at 11:18:36AM +0300, Manos Pitsidianakis wrote:
> On Mon, May 19, 2025 at 11:15 AM Michael S. Tsirkin <mst@redhat.com> wrote:
> >
> > On Mon, May 19, 2025 at 11:03:43AM +0300, Manos Pitsidianakis wrote:
> > > Hello Michael, thanks for the reply,
> > >
> > > On Mon, May 19, 2025 at 10:54 AM Michael S. Tsirkin <mst@redhat.com> wrote:
> > > >
> > > > On Mon, May 19, 2025 at 10:43:33AM +0300, Manos Pitsidianakis wrote:
> > > > > Pinging this thread to ask the OASIS people: Would it be possible to
> > > > > host a software project (this testsuite) under OASIS but with a
> > > > > lighter contribution process? We expect everyone to be contributing to
> > > > > them, from open source/proprietary hypervisor developers, to kernel/OS
> > > > > developers, hobbyists and professionals alike. So I think a low
> > > > > barrier of entry would be reasonable here.
> > > >
> > > > Take a look here pls:
> > > > https://www.oasis-open.org/open-repositories/#licensingRules
> > > >
> > > >
> > > >
> > > > > Seeing as a test suite is essentially tied to the published VIRTIO
> > > > > spec itself it also makes it a good fit semantically. Having a suite
> > > > > with multiple VIRTIO implementations including slim images with Linux
> > > > > would also give a wider frame of reference for downstream consumers of
> > > > > the spec. Currently, the Linux kernel is the de facto (because it's
> > > > > also open source) VIRTIO implementation on the frontend side and
> > > > > oftentimes we end up looking at what Linux does to implement backends.
> > > > >
> > > > > We'd like to potentially:
> > > > >
> > > > > - Expand the array of rootfs images with more Linux userspace tests
> > > > > for more devices
> > > > > - Expand the array of rootfs images with other open source OSes as
> > > > > they gain VIRTIO functionalities
> > > > > - Implement missing VIRTIO spec features in our unikernel test and
> > > > > also exercise realistic but basic VIRTIO command use scenarios for
> > > > > more devices
> > > > > - (This is on my personal wishlist) write a VIRTIO fuzzer framework,
> > > > > similar in spirit to Google's syzkaller project (unsupervised
> > > > > coverage-guided kernel fuzzer)
> > > > > - As a stretch goal, provide a reference test runner framework to run
> > > > > the images with QEMU and rust-vmm vhost-user backends for people to
> > > > > adapt to their setups.
> > > > >
> > > > > PS: The git repositories Alex linked are temporarily inaccessible due
> > > > > to internal unrelated issues, and will be public again.
> > > >
> > > >
> > > > At the moment, from the above link, and if you want it tied to OASIS
> > > > open repositories, it has to be one of:
> > > >
> > > > BSD-3-Clause License (which shall apply if the TC makes no license selection in its approval action); Apache License v 2.0; CC-BY 2.0; CC-BY 4.0; Eclipse Public License v 1.0.
> > >
> > > OK that's doable and completely reasonable.
> > >
> > > > I am not a lawyer, but can full OS images we licensed under one of
> > > > these? If not, you are better off creating the repository itself outside
> > > > the confines of OASIS.
> > >
> > > We'd be hosting essentially build recipes for the images, for tests
> > > where we use other people's code. The build recipes would have the
> > > same license.
> > >
> > > If I understand the CLA requirement correctly, even if the
> > > contribution is merged by a maintainer who has signed the CLA, the
> > > original contributor who has no write access to the repository, has to
> > > sign the CLA as well?
> >
> >
> > I think is would be the OASIS equivalent of the Linux DCO:
> > Each person making a repo contribution must be bound to the terms of the
> > CLA, by obtaining their signature (which may be an equivalent electronic
> > assent)
>
> So just a Signed-off-by? That massively simplifies things!
Well we need to make sure people read CLA and know what
it implies.
Which unfortunately I can not tell you what it is since
CLA at OASIS site is down:
https://www.oasis-open.org/resources/open-repositories/cla/individual-cla
I will reach out to OASIS to figure it out.
> > If you like I can reach out to OASIS to confirm.
>
> Yes, that'd be very helpful, thank you.
>
>
> --
> Manos Pitsidianakis
> Emulation and Virtualization Engineer at Linaro Ltd
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Central repo for VirtIO conformance tests?
2025-05-19 8:18 ` Manos Pitsidianakis
2025-05-19 12:30 ` Michael S. Tsirkin
@ 2025-05-29 21:34 ` Michael S. Tsirkin
1 sibling, 0 replies; 11+ messages in thread
From: Michael S. Tsirkin @ 2025-05-29 21:34 UTC (permalink / raw)
To: Manos Pitsidianakis
Cc: virtio-comment, VirtIO Dev List, Bill Mills, David Hildenbrand,
Stefan Hajnoczi, Stefano Garzarella, Dmitry Osipenko,
Sergio Lopez, Cornelia Huck, Alex Bennée
On Mon, May 19, 2025 at 11:18:36AM +0300, Manos Pitsidianakis wrote:
> On Mon, May 19, 2025 at 11:15 AM Michael S. Tsirkin <mst@redhat.com> wrote:
> >
> > On Mon, May 19, 2025 at 11:03:43AM +0300, Manos Pitsidianakis wrote:
> > > Hello Michael, thanks for the reply,
> > >
> > > On Mon, May 19, 2025 at 10:54 AM Michael S. Tsirkin <mst@redhat.com> wrote:
> > > >
> > > > On Mon, May 19, 2025 at 10:43:33AM +0300, Manos Pitsidianakis wrote:
> > > > > Pinging this thread to ask the OASIS people: Would it be possible to
> > > > > host a software project (this testsuite) under OASIS but with a
> > > > > lighter contribution process? We expect everyone to be contributing to
> > > > > them, from open source/proprietary hypervisor developers, to kernel/OS
> > > > > developers, hobbyists and professionals alike. So I think a low
> > > > > barrier of entry would be reasonable here.
> > > >
> > > > Take a look here pls:
> > > > https://www.oasis-open.org/open-repositories/#licensingRules
> > > >
> > > >
> > > >
> > > > > Seeing as a test suite is essentially tied to the published VIRTIO
> > > > > spec itself it also makes it a good fit semantically. Having a suite
> > > > > with multiple VIRTIO implementations including slim images with Linux
> > > > > would also give a wider frame of reference for downstream consumers of
> > > > > the spec. Currently, the Linux kernel is the de facto (because it's
> > > > > also open source) VIRTIO implementation on the frontend side and
> > > > > oftentimes we end up looking at what Linux does to implement backends.
> > > > >
> > > > > We'd like to potentially:
> > > > >
> > > > > - Expand the array of rootfs images with more Linux userspace tests
> > > > > for more devices
> > > > > - Expand the array of rootfs images with other open source OSes as
> > > > > they gain VIRTIO functionalities
> > > > > - Implement missing VIRTIO spec features in our unikernel test and
> > > > > also exercise realistic but basic VIRTIO command use scenarios for
> > > > > more devices
> > > > > - (This is on my personal wishlist) write a VIRTIO fuzzer framework,
> > > > > similar in spirit to Google's syzkaller project (unsupervised
> > > > > coverage-guided kernel fuzzer)
> > > > > - As a stretch goal, provide a reference test runner framework to run
> > > > > the images with QEMU and rust-vmm vhost-user backends for people to
> > > > > adapt to their setups.
> > > > >
> > > > > PS: The git repositories Alex linked are temporarily inaccessible due
> > > > > to internal unrelated issues, and will be public again.
> > > >
> > > >
> > > > At the moment, from the above link, and if you want it tied to OASIS
> > > > open repositories, it has to be one of:
> > > >
> > > > BSD-3-Clause License (which shall apply if the TC makes no license selection in its approval action); Apache License v 2.0; CC-BY 2.0; CC-BY 4.0; Eclipse Public License v 1.0.
> > >
> > > OK that's doable and completely reasonable.
> > >
> > > > I am not a lawyer, but can full OS images we licensed under one of
> > > > these? If not, you are better off creating the repository itself outside
> > > > the confines of OASIS.
> > >
> > > We'd be hosting essentially build recipes for the images, for tests
> > > where we use other people's code. The build recipes would have the
> > > same license.
> > >
> > > If I understand the CLA requirement correctly, even if the
> > > contribution is merged by a maintainer who has signed the CLA, the
> > > original contributor who has no write access to the repository, has to
> > > sign the CLA as well?
> >
> >
> > I think is would be the OASIS equivalent of the Linux DCO:
> > Each person making a repo contribution must be bound to the terms of the
> > CLA, by obtaining their signature (which may be an equivalent electronic
> > assent)
>
> So just a Signed-off-by? That massively simplifies things!
>
> > If you like I can reach out to OASIS to confirm.
>
> Yes, that'd be very helpful, thank you.
Well OASIS got back to us with the following:
they have a tool that requires you to create an account then you file
a CLA. If using email maintainer needs to check CLA in place.
If using github pull requests, it checks automatically.
Additionally each employer also has to file a different employer CLA.
This last one for now has to just be emailed but at some point
they will develop a tool to do that. They said "shortly" but no
promises.
Until they do, maintainer has to remember to check employer CLA
is on file when merging.
If you want to bother with all this let me know I will get you set up.
Or another option is to just create a repo elsewhere. If we
really want to we can make people accept CLA, then if at some point
OASIS has better infra, transition to that. I'd then use BSD-3-Clause
License if that's ok, in case we do want to move to OASIS later.
How do you intend to work, pull requests or email?
>
> --
> Manos Pitsidianakis
> Emulation and Virtualization Engineer at Linaro Ltd
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2025-05-29 21:34 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-31 10:38 Central repo for VirtIO conformance tests? Alex Bennée
2025-03-31 11:52 ` Stefan Hajnoczi
[not found] ` <Z-qHKUveoHc85koj@redhat.com>
2025-03-31 12:20 ` Stefan Hajnoczi
[not found] ` <CAJSP0QW6=SvLwkuTsZTKqCH9OQJdH8XV32hDZ9Z4o6AbCbOqiA@mail.gmail.com>
2025-03-31 12:36 ` Alex Bennée
2025-05-19 7:43 ` Manos Pitsidianakis
2025-05-19 7:54 ` Michael S. Tsirkin
2025-05-19 8:03 ` Manos Pitsidianakis
2025-05-19 8:15 ` Michael S. Tsirkin
2025-05-19 8:18 ` Manos Pitsidianakis
2025-05-19 12:30 ` Michael S. Tsirkin
2025-05-29 21:34 ` Michael S. Tsirkin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox