Uploaded to Noble. $ dput libvirt_10.0.0-2ubuntu8.6_source.changes Trying to upload package to ubuntu Checking signature on .changes gpg: /home/sergio/work/libvirt/libvirt_10.0.0-2ubuntu8.6_source.changes: Valid signature from 106DA1C8C3CBBF14 Checking signature on .dsc gpg: /home/sergio/work/libvirt/libvirt_10.0.0-2ubuntu8.6.dsc: Valid signature from 106DA1C8C3CBBF14 Uploading to ubuntu (via ftp to upload.ubuntu.com): Uploading libvirt_10.0.0-2ubuntu8.6.dsc: done. Uploading libvirt_10.0.0-2ubuntu8.6.debian.tar.xz: done. Uploading libvirt_10.0.0-2ubuntu8.6_source.buildinfo: done. Uploading libvirt_10.0.0-2ubuntu8.6_source.changes: done. Successfully uploaded packages.
** Description changed: [ Impact ] Users of libvirt on Ubuntu Noble/Oracular are unable to query the I/O throttle parameters of an image using virsh. [ Test plan ] - TBD. + Inside a Noble VM/container, you can issue the following commands: + + # apt install -y uvtool-libvirt + # uvt-simplestreams-libvirt --verbose sync --source http://cloud-images.ubuntu.com/daily arch=amd64 label=daily release=jammy + # uvt-kvm create lp2084136-vm release=jammy arch=amd64 label=daily + # virsh blkdeviotune lp2084136-vm vda + + When using the buggy libvirt package, you will see something like: + + error: Unable to get number of block I/O throttle parameters + error: An error occurred, but the cause is unknown + + Whereas a fixed libvirt will give you something similar to: + + total_bytes_sec: 0 + read_bytes_sec : 0 + write_bytes_sec: 0 + total_iops_sec : 0 + read_iops_sec : 0 + write_iops_sec : 0 + total_bytes_sec_max: 0 + read_bytes_sec_max: 0 + write_bytes_sec_max: 0 + total_iops_sec_max: 0 + read_iops_sec_max: 0 + write_iops_sec_max: 0 + size_iops_sec : 0 + group_name : + total_bytes_sec_max_length: 0 + read_bytes_sec_max_length: 0 + write_bytes_sec_max_length: 0 + total_iops_sec_max_length: 0 + read_iops_sec_max_length: 0 + write_iops_sec_max_length: 0 [ Where problems could occur ] - TBD. + The patch being backported is a one-liner that's been pushed upstream + for almost one year, and is part of a few releases now. The patched + code is still there and hasn't been changed since it was modified. + + The function being modified is the implementation of an OO-like struct's + (virHypervisorDriver) field (domainGetBlockIoTune) which gets called + only by src/libvirt-domain.c:virDomainGetBlockIoTune, so the possibility + of seeing a regressions is reduced significantly because we're dealing + with a well-contained patch. + + The libvirt package itself receives regular SRUs, which means that we're + always rebuilding it against newer versions of its build dependencies. + There's always the very small probability that something changed between + the last SRU and this one and as such a regression will creep in, but in + the unlikely case that that happens we can always revert the upload. [ Original Description ] Since Ubuntu 24.04, it is no longer possible to query the I/O throttle parameters of an image using Virsh. The issue occurs at least with libvirt-daemon version 10.0.0-2ubuntu8.4. The following error message appears: # virsh blkdeviotune test_vm sda error: Unable to get number of block I/O throttle parameters error: An error occurred, but the cause is unknown How to reproduce: - Create a VM - Query the I/O throttle parameters of the image attached to the VM using Virsh - The error appears The expected output should be: # virsh blkdeviotune test_vm sda total_bytes_sec: 0 read_bytes_sec : 0 write_bytes_sec: 0 total_iops_sec : 0 read_iops_sec : 0 write_iops_sec : 0 total_bytes_sec_max: 0 read_bytes_sec_max: 0 write_bytes_sec_max: 0 total_iops_sec_max: 0 read_iops_sec_max: 0 write_iops_sec_max: 0 size_iops_sec : 0 group_name : scsi0-0-0-0 total_bytes_sec_max_length: 0 read_bytes_sec_max_length: 0 write_bytes_sec_max_length: 0 total_iops_sec_max_length: 0 read_iops_sec_max_length: 0 write_iops_sec_max_length: 0 To be sure, I also compiled and tested the latest libvirt version from source, and the issue did not occur there. I also tested it on a Rocky Linux environment with the version shipped there (also version 10.0.0), and the problem did not occur either. This suggests that the issue is specific to the Ubuntu package. I also tried running the virsh command with LIBVIRT_DEBUG=1 to check for a clearer message, but I couldn’t gather much from it. Information about the system: - Ubuntu 24.04.1 LTS - libvirt-daemon 10.0.0-2ubuntu8.4 - virsh --version: 10.0.0 - 6.8.0-31-generic #31-Ubuntu ** Changed in: libvirt (Ubuntu Noble) Status: Triaged => In Progress -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2084136 Title: Unable to get number of block I/O throttle parameters To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/2084136/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
