← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 2074219] Re: Failed to detach volume AttributeError: 'LibvirtConfigGuestHostdevMDEV' object has no attribute 'alias'

 

Reviewed:  https://review.opendev.org/c/openstack/nova/+/932931
Committed: https://opendev.org/openstack/nova/commit/9db3eba8133f4f643bc4a748460a97434fa91f78
Submitter: "Zuul (22348)"
Branch:    master

commit 9db3eba8133f4f643bc4a748460a97434fa91f78
Author: Sean Mooney <work@xxxxxxxxxxxxxxx>
Date:   Mon Oct 21 20:50:20 2024 +0100

    Fix detaching devices by alias with mdevs
    
    This change fixes the get_device_by_alias function
    to properly handle devices that do not have an
    alias in the domain xml.
    
    By definition if a device does not have an alias
    it can't match a given alias, so this change adds
    a hasattr check to ensure we do not attempt to check
    the alias if it's not defined.
    
    This eliminates this entire class of bugs for all
    devices instead of just fixing it for a specific class.
    
    Related-Bug: #1942345
    Closes-Bug: #2074219
    Change-Id: If417a43ea252647618e50391b63333f6b68bdfec


** Changed in: nova
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/2074219

Title:
  Failed to detach volume AttributeError:
  'LibvirtConfigGuestHostdevMDEV' object has no attribute 'alias'

Status in OpenStack Compute (nova):
  Fix Released

Bug description:
  Similar to https://bugs.launchpad.net/nova/+bug/1942345 lack of alias
  handling for LibvirtConfigGuestHostdevMDEV causes volume detach to
  fail following an upgrade to Caracal.

  2024-07-22 14:07:41.931 2455748 ERROR nova.virt.block_device [None req-fe679559-73ae-41f5-9bf7-346e998345b4 1405cdbc6158472e9e358a772965d4d8 55d7efb46dd945a2b86f7ce8aa657e1a - - 863ca4dddb2f43
  d8a8919758eccbc23a 863ca4dddb2f43d8a8919758eccbc23a] [instance: effa9902-ffdf-4f32-b3b8-a3afa76a2173] Failed to detach volume 2e394be5-b166-43d0-abe9-2b6f3eb07dbd from /dev/sdb: AttributeError
  : 'LibvirtConfigGuestHostdevMDEV' object has no attribute 'alias'
  2024-07-22 14:07:41.931 2455748 ERROR nova.virt.block_device [instance: effa9902-ffdf-4f32-b3b8-a3afa76a2173] Traceback (most recent call last):
  2024-07-22 14:07:41.931 2455748 ERROR nova.virt.block_device [instance: effa9902-ffdf-4f32-b3b8-a3afa76a2173]   File "/usr/lib/python3/dist-packages/nova/virt/block_device.py", line 413, in dr
  iver_detach
  2024-07-22 14:07:41.931 2455748 ERROR nova.virt.block_device [instance: effa9902-ffdf-4f32-b3b8-a3afa76a2173]     virt_driver.detach_volume(context, connection_info, instance, mp,
  2024-07-22 14:07:41.931 2455748 ERROR nova.virt.block_device [instance: effa9902-ffdf-4f32-b3b8-a3afa76a2173]   File "/usr/lib/python3/dist-packages/nova/virt/libvirt/driver.py", line 2831, in
   detach_volume
  2024-07-22 14:07:41.931 2455748 ERROR nova.virt.block_device [instance: effa9902-ffdf-4f32-b3b8-a3afa76a2173]     self._detach_with_retry(
  2024-07-22 14:07:41.931 2455748 ERROR nova.virt.block_device [instance: effa9902-ffdf-4f32-b3b8-a3afa76a2173]   File "/usr/lib/python3/dist-packages/nova/virt/libvirt/driver.py", line 2540, in
   _detach_with_retry
  2024-07-22 14:07:41.931 2455748 ERROR nova.virt.block_device [instance: effa9902-ffdf-4f32-b3b8-a3afa76a2173]     self._detach_from_live_with_retry(
  2024-07-22 14:07:41.931 2455748 ERROR nova.virt.block_device [instance: effa9902-ffdf-4f32-b3b8-a3afa76a2173]   File "/usr/lib/python3/dist-packages/nova/virt/libvirt/driver.py", line 2600, in
   _detach_from_live_with_retry
  2024-07-22 14:07:41.931 2455748 ERROR nova.virt.block_device [instance: effa9902-ffdf-4f32-b3b8-a3afa76a2173]     live_dev = get_device_conf_func()
  2024-07-22 14:07:41.931 2455748 ERROR nova.virt.block_device [instance: effa9902-ffdf-4f32-b3b8-a3afa76a2173]   File "/usr/lib/python3/dist-packages/nova/virt/libvirt/driver.py", line 2799, in
   _get_guest_disk_device
  2024-07-22 14:07:41.931 2455748 ERROR nova.virt.block_device [instance: effa9902-ffdf-4f32-b3b8-a3afa76a2173]     dev = guest.get_device_by_alias(
  2024-07-22 14:07:41.931 2455748 ERROR nova.virt.block_device [instance: effa9902-ffdf-4f32-b3b8-a3afa76a2173]   File "/usr/lib/python3/dist-packages/nova/virt/libvirt/guest.py", line 420, in g
  et_device_by_alias
  2024-07-22 14:07:41.931 2455748 ERROR nova.virt.block_device [instance: effa9902-ffdf-4f32-b3b8-a3afa76a2173]     if dev.alias == devalias:
  2024-07-22 14:07:41.931 2455748 ERROR nova.virt.block_device [instance: effa9902-ffdf-4f32-b3b8-a3afa76a2173] AttributeError: 'LibvirtConfigGuestHostdevMDEV' object has no attribute 'alias'
  2024-07-22 14:07:41.931 2455748 ERROR nova.virt.block_device [instance: effa9902-ffdf-4f32-b3b8-a3afa76a2173]

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/2074219/+subscriptions



References