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

Reply via email to