On Mon, Feb 19, 2018 at 10:29:18AM +0100, Andrea Bolognani wrote: > On Mon, 2018-02-19 at 07:24 +0100, Peter Krempa wrote: > > On Fri, Feb 16, 2018 at 17:28:03 +0100, Andrea Bolognani wrote: > > > Validate time is a bit too early to check whether the required > > > capabilities are available, since the QEMU binary might have > > > been updated or replaced by the time we are asked to run the > > > guest. > > > > So are you having problem with the fact that the definition will be > > rejected right away and not just when you try to start it? > > > > Validate is re-run when starting the VM so a downgrade is handled > > properly. > > Right, but isn't checking for QEMU capabilities at validate time > unreasonably strict? A guest which uses eg. an invalid combination > of machine type and architecture will never become valid at a later > point, but a guest should not be considered invalid just because > the QEMU binary you happened to have installed at the time you > defined it lacked some features - the guest itself is perfectly > valid, it just can't be run :) Given that we increasingly fill in alot of information in the XML at define time, we already have a general expectation that the QEMU binary will be present at define time. I think this is not unreasonable - we suggest apps call virConnectGetCapabilities and/or virDomainGetCapabilities to understand what is installed/available before creating an XML document to define. Those APIs of course require binaries to be installed too. So I don't think we should really put effort into coping with defining XML for a time when the QEMU binaries aren't installed. Such a scenario is so unlikely to be hit that any code trying to cope with that is going to be largely untested and fragile, so it would be a disservice to pretend it'll be something worth relying on. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list