← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 2065084] [NEW] BDM with device_type=lun fails

 

Public bug reported:

Libvirt recently (since our code was added) refuses the serial option on
a disk which is attached as a LUN. Since we officially support this in
our API, we need to avoid putting serial on those disks.

Also, even when we don't hit that problem, our boot order calculation
fails with:

56694407 tempest-AttachVolumeMultiAttachTest-1756694407-project-member] [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3] Failed to build and run instance: KeyError: 'lun'
May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3] Traceback (most recent call last):
May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]   File "/opt/stack/nova/nova/compute/manager.py", line 2641, in _build_and_run_instance
May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]     self.driver.spawn(context, instance, image_meta,
May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]   File "/opt/stack/nova/nova/virt/libvirt/driver.py", line 4642, in spawn
May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]     xml = self._get_guest_xml(context, instance, network_info,
May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]   File "/opt/stack/nova/nova/virt/libvirt/driver.py", line 7814, in _get_guest_xml
May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]     conf = self._get_guest_config(instance, network_info, image_meta,
May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]   File "/opt/stack/nova/nova/virt/libvirt/driver.py", line 7318, in _get_guest_config
May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]     self._conf_non_lxc(
May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]   File "/opt/stack/nova/nova/virt/libvirt/driver.py", line 6969, in _conf_non_lxc
May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]     guest.os_boot_dev = blockinfo.get_boot_order(disk_info)
May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]   File "/opt/stack/nova/nova/virt/libvirt/blockinfo.py", line 737, in get_boot_order
May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]     return uniq(boot_devs_dup)
May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]   File "/opt/stack/nova/nova/virt/libvirt/blockinfo.py", line 735, in uniq
May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]     return [el for el in lst if el not in s and not s.add(el)]
May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]   File "/opt/stack/nova/nova/virt/libvirt/blockinfo.py", line 735, in <listcomp>
May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]     return [el for el in lst if el not in s and not s.add(el)]
May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]   File "/opt/stack/nova/nova/virt/libvirt/blockinfo.py", line 729, in <genexpr>
May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]     boot_devs_dup = (BOOT_DEV_FOR_TYPE[dev['type']] for dev in
May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3] KeyError: 'lun'

** Affects: nova
     Importance: Undecided
         Status: New

-- 
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/2065084

Title:
  BDM with device_type=lun fails

Status in OpenStack Compute (nova):
  New

Bug description:
  Libvirt recently (since our code was added) refuses the serial option
  on a disk which is attached as a LUN. Since we officially support this
  in our API, we need to avoid putting serial on those disks.

  Also, even when we don't hit that problem, our boot order calculation
  fails with:

  56694407 tempest-AttachVolumeMultiAttachTest-1756694407-project-member] [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3] Failed to build and run instance: KeyError: 'lun'
  May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3] Traceback (most recent call last):
  May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]   File "/opt/stack/nova/nova/compute/manager.py", line 2641, in _build_and_run_instance
  May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]     self.driver.spawn(context, instance, image_meta,
  May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]   File "/opt/stack/nova/nova/virt/libvirt/driver.py", line 4642, in spawn
  May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]     xml = self._get_guest_xml(context, instance, network_info,
  May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]   File "/opt/stack/nova/nova/virt/libvirt/driver.py", line 7814, in _get_guest_xml
  May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]     conf = self._get_guest_config(instance, network_info, image_meta,
  May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]   File "/opt/stack/nova/nova/virt/libvirt/driver.py", line 7318, in _get_guest_config
  May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]     self._conf_non_lxc(
  May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]   File "/opt/stack/nova/nova/virt/libvirt/driver.py", line 6969, in _conf_non_lxc
  May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]     guest.os_boot_dev = blockinfo.get_boot_order(disk_info)
  May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]   File "/opt/stack/nova/nova/virt/libvirt/blockinfo.py", line 737, in get_boot_order
  May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]     return uniq(boot_devs_dup)
  May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]   File "/opt/stack/nova/nova/virt/libvirt/blockinfo.py", line 735, in uniq
  May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]     return [el for el in lst if el not in s and not s.add(el)]
  May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]   File "/opt/stack/nova/nova/virt/libvirt/blockinfo.py", line 735, in <listcomp>
  May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]     return [el for el in lst if el not in s and not s.add(el)]
  May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]   File "/opt/stack/nova/nova/virt/libvirt/blockinfo.py", line 729, in <genexpr>
  May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3]     boot_devs_dup = (BOOT_DEV_FOR_TYPE[dev['type']] for dev in
  May 07 17:16:33 jammy nova-compute[133963]: ERROR nova.compute.manager [instance: 4a20e558-dba6-4daa-af66-b62de2d9c0f3] KeyError: 'lun'

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



Follow ups