#42 Use virt-install instead of virt-builder for createhdds
Closed: Fixed None Opened 7 years ago by adamwill.

I'm proposing we ought to use virt-install instead of virt-builder to produce the pre-installed disk images in createhdds. The biggest advantage I see is:

  • virt-builder is kind of a hack and breaks all the time

it's a cute hack, and it got us this far, but I've kind of reached the point where I'm sick of fixing the apparently-eternal issues between it and selinux.

Other factors:

  • what virt-builder outputs is not terribly like a real install

...by 'real install' I mean 'what you get by running anaconda, one way or another'. This is kinda related to the first factor, really. The one I noticed lately is that virt-builder hacks up the cmdline quite a lot - the cmdline of a virt-builder created image doesn't look much like the cmdline of an anaconda-deployed system. Also, deploying virt-builder's minimal default image then installing a desktop environment on it with dnf is really pretty different in various respects from, say, running the Workstation net install image. What we're trying to test with openQA is really our core, most-used, most-supported path; the upgrade tests are supposed to be basically 'do the most common install of this particular important incarnation of Fedora, then test if you can upgrade it', and virt-builder is not really entirely doing that.

  • we can do more stuff with virt-install

This isn't super important now, but it could be. With virt-install we could, for e.g., build images with specific partition layouts, so we can test upgrade of those - or even test installing over the top of (and perhaps re-using) particular layouts, which is an area where bugs happen and which we currently don't have a great way to test.

My rough plan for doing this is that we'd replace the .commands files with kickstarts and have createhdds just run virt-install using the kickstarts. createhdds would use fedfind to locate an appropriate install ISO for building each image (this might be part of image config, so we can use the Workstation netinst to build the Workstation image but the Server netinst to build the Server image, for e.g.), and cache it somewhere (much like virt-builder caches its base images) for future builds. I'll probably work on this tomorrow, let me know if you object :)


This is done for weeks.

Login to comment on this ticket.

Metadata