qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC] Future goals for autotest and virtualization test


From: Anthony Liguori
Subject: Re: [Qemu-devel] [RFC] Future goals for autotest and virtualization tests
Date: Thu, 08 Mar 2012 13:43:19 -0600
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.23) Gecko/20110922 Lightning/1.0b2 Thunderbird/3.1.15

On 03/08/2012 01:34 PM, Lucas Meneghel Rodrigues wrote:
On 03/08/2012 03:57 PM, Anthony Liguori wrote:
On 03/08/2012 09:19 AM, Lucas Meneghel Rodrigues wrote:
Before I forget, I'd like to ask you about this:

On 03/08/2012 10:36 AM, Anthony Liguori wrote:
I'm really not a fan of buildroot. Note that in order to ship binaries,
full source needs to be provided in order to comply with the GPL. The
FSF at least states that referring to another website for source that's
not under your control doesn't satisfy the requirements of the GPL.

About using buildroot, what is up with it, since it is mature and
works well?
You mentioned than providing all the sources is harder than it looks
like, and I
surely think this might be the case.

buildroot is a full blown distribution. But instead of distributing
binaries, it only distributes source code. Think of it like Gentoo--.

It relies on third party links to fetch said source code which means
that it's not unusual

By this definition, qemu test fetch source code from 3rd party repositories just
as much, after all you have to fetch your linux and busybox code from somewhere,
I assume.

It uses git submodules with repositories hosted on git.qemu.org.


at all for buildroot to straight out fail. Because
it needs a GCC that can build shared libraries, it also requires
rebuilding GCC which increases the build time even for a minimalistic
configuration.

But is this additional build time a problem? Is the person expected to be
messing around with re-creating the minimal guest images all the time?

I think it's common enough to want to update the guest kernel that yes, this is something that many people need to be able to do in order for the test cases to be effective. If it takes 24hr to rebuild the images, that's problematic.

Having a JeOS it not meant to replace having proper guests (like Fedora
or Ubuntu). As I've said in other notes, the point of having a JeOS is
to essentially use Linux as a libOS when writing unit tests.

That is why we would have a reference binary jeos image that can be downloaded
(although not a replacement, having a small guest makes setup time smaller, as
well as smaller time to run the tests). If people need to tweak kernel, etc for
some reason, I'm assuming that person would have their own clone of the repo and
rebuild the images with the modification, and use that for the tests, I guess
just the way you would do with qemu-jeos.

Yes, but this is a common thing. This is something that needs to be designed for upfront for the infrastructure to be useful.

But in all my naiveness, if the problem is to ship the exact source
with the
images have been built, couldn't I just ask buildroot to fetch all the
tarball
sources (there's a function to perform source download only) and add
them to the
appropriate git branch?

Okay, let's say I'm a developer and I want to use a new Linux kernel to
test the new virtio-pci feature I added with buildroot. Where do I
begin? What patch do I submit?

You change the configuration file to build your linux from git rather than the
tarball, change the linux config and type 'make'. At the end, you'll have a
patch that can be sent and kept in another autotest-buildroot branch, if it's
proven to be useful *for other people*.

Except you also need to update those tarballs too that you're storing in git, remember.

Herein lies the problem.  You forgot and it's your proposal :-)

To make this model work, you're going to need to heavily change buildroot to use a local repository of tarballs and make sure that people update tarballs appropriately. Updating tarballs is cumbersome and there's obviously a question of pedigree. Are you going to require the tarballs come with the original release signature? How are you going to guard against people taking tarballs of their own local trees instead of Linus' tree?

We already have this problem with the linux-headers FWIW.

qemu-jeos exists exactly to solve these problems in a robust fashion, based on the experiences we've had maintaining ROM modules in qemu.git.

Regards,

Anthony Liguori


All in all, I don't see what is the big difference between this workflow and
qemu-jeos.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]