← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1961567] [NEW] attached PCI devices may change addresses after reboot

 

Public bug reported:

When attaching PCI devices to the instance (e.g. via PCI passthru), the
final order and addresses of devices as seen from inside the instance
can change between reboots:

E.g. these are the snippets from qemu command line args as seen thru
`ps`:

-device vfio-pci,host=5e:00.1,id=hostdev0,bus=pci.0,addr=0x6 -device
vfio-pci,host=5e:00.0,id=hostdev1,bus=pci.0,addr=0x7

after hard reboot:
-device vfio-pci,host=5e:00.0,id=hostdev0,bus=pci.0,addr=0x6 -device vfio-pci,host=5e:00.1,id=hostdev1,bus=pci.0,addr=0x7

For some VNF workloads this poses a problem. Instead of forcing the app
authors to build complex udev setups inside instances, let's simply
order the list always by the pci address.


Note that this particular issue was caught in Queens release running under Python2. Unfortunately I do not have means to reproduce that on newer OpenStack, but even if it turns out this is auto-fixed by oredered-by-default dicts in py3.7+, we still support py36.

** 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/1961567

Title:
  attached PCI devices may change addresses after reboot

Status in OpenStack Compute (nova):
  New

Bug description:
  When attaching PCI devices to the instance (e.g. via PCI passthru),
  the final order and addresses of devices as seen from inside the
  instance can change between reboots:

  E.g. these are the snippets from qemu command line args as seen thru
  `ps`:

  -device vfio-pci,host=5e:00.1,id=hostdev0,bus=pci.0,addr=0x6 -device
  vfio-pci,host=5e:00.0,id=hostdev1,bus=pci.0,addr=0x7

  after hard reboot:
  -device vfio-pci,host=5e:00.0,id=hostdev0,bus=pci.0,addr=0x6 -device vfio-pci,host=5e:00.1,id=hostdev1,bus=pci.0,addr=0x7

  For some VNF workloads this poses a problem. Instead of forcing the
  app authors to build complex udev setups inside instances, let's
  simply order the list always by the pci address.

  
  Note that this particular issue was caught in Queens release running under Python2. Unfortunately I do not have means to reproduce that on newer OpenStack, but even if it turns out this is auto-fixed by oredered-by-default dicts in py3.7+, we still support py36.

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



Follow ups