On Wed, Aug 05, 2020 at 10:19:26AM +0200, Andrea Bolognani wrote: > On Wed, 2020-08-05 at 02:09 -0400, Mark Mielke wrote: > > Hi all: > > > > In testing qemu-5.1rc2 on my Fedora 32 home system, I found that > > the Fedora rawhide package has broken out both the QXL display > > device and the USB redirect device into separate RPM modules: > > > > qemu-device-display-qxl.x86_64 2:5.1.0-0.1.rc2.fc32 > > qemu-device-usb-redirect.x86_64 2:5.1.0-0.1.rc2.fc32 > > > > The upgrade from 5.0.0 to 5.1.0 does not treat these sub-packages > > as mandatory packages, therefore a straight upgrade of packages > > causes these domcapabilities to disappear. > > > > If the user tries to use libvirt after this, then existing domains > > using QXL display device or USB redirect device will fail to start. > > If the user then investigates and realizes that they now need to > > install the above packages separately, they find that qemu-kvm > > recognizes the modules right away, but libvirt does not. This looks > > to be due to the libvirt domcapabilities cache? > > I guess we need to start checking the modules directory in addition > to the main QEMU binary, and regenerate capabilities every time its > contents change. > > That said, if upgrading QEMU results in losing features, even though > you can recover them through additional steps I would argue that's a > bug in the packaging that should be addressed on the QEMU side. Potentially we can consider this a distro packaging problem and fix it at the RPM level. eg the libvirt RPM can define a trigger that runs when *any* of the qemu-device* RPMs is installed/updated. This trigger can simply touch a file on disk somewhere, and libvirtd can monitor this one file, instead of having to monitor every module. 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 :|