← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1897528] Re: 32bit pci domain number is not supported

 

** Changed in: nova/ussuri
       Status: Fix Committed => Fix Released

** Changed in: nova/victoria
       Status: Fix Committed => 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/1897528

Title:
  32bit pci domain number is not supported

Status in OpenStack Compute (nova):
  In Progress
Status in OpenStack Compute (nova) train series:
  In Progress
Status in OpenStack Compute (nova) ussuri series:
  Fix Released
Status in OpenStack Compute (nova) victoria series:
  Fix Released

Bug description:
  A device with a PCI domain number greater than 16 bits exists.
  On a compute node with the device, nova-compute service fails to start.
  It happened in the rocky version, but it should also happen in the commit d01972b272 on the master branch [1].
  Other projects, such as libvirt, have already addressed this issue [2].
   
  $ less /var/log/nova/compute.log
  [req-0a9e4f23-0576-456e-add5-5bd6e7d707d6 - - - - -] Error updating resources for node XXXX.co.jp.: PciConfigInvalidWhitelist: Invalid PCI devices Whitelist config: property domain (10000) is greater than the maximum allowable value (FFFF).
  Traceback (most recent call last):
    File "/opt/nova/lib/python2.7/site-packages/nova/compute/manager.py", line 7994, in _update_available_resource_for_node
      rt.update_available_resource(context, nodename)
    File "/opt/nova/lib/python2.7/site-packages/nova/compute/resource_tracker.py", line 721, in update_available_resource
      self._update_available_resource(context, resources)
    File "/opt/nova/lib/python2.7/site-packages/oslo_concurrency/lockutils.py", line 274, in inner
      return f(*args, **kwargs)
    File "/opt/nova/lib/python2.7/site-packages/nova/compute/resource_tracker.py", line 744, in _update_available_resource
      self._init_compute_node(context, resources)
    File "/opt/nova/lib/python2.7/site-packages/nova/compute/resource_tracker.py", line 572, in _init_compute_node
      self._setup_pci_tracker(context, cn, resources)
    File "/opt/nova/lib/python2.7/site-packages/nova/compute/resource_tracker.py", line 599, in _setup_pci_tracker
      dev_json)
    File "/opt/nova/lib/python2.7/site-packages/nova/pci/manager.py", line 120, in update_devices_from_hypervisor_resources
      if self.dev_filter.device_assignable(dev):
    File "/opt/nova/lib/python2.7/site-packages/nova/pci/whitelist.py", line 86, in device_assignable
      if spec.match(dev):
    File "/opt/nova/lib/python2.7/site-packages/nova/pci/devspec.py", line 281, in match
      dev_dict.get('parent_addr'))])
    File "/opt/nova/lib/python2.7/site-packages/nova/pci/devspec.py", line 238, in match
      pci_addr_obj = PhysicalPciAddress(pci_addr)
    File "/opt/nova/lib/python2.7/site-packages/nova/pci/devspec.py", line 87, in __init__
      self._set_pci_dev_info('domain', MAX_DOMAIN, '%04x')
    File "/opt/nova/lib/python2.7/site-packages/nova/pci/devspec.py", line 66, in _set_pci_dev_info
      {'property': prop, 'attr': a, 'max': maxval})
  PciConfigInvalidWhitelist: Invalid PCI devices Whitelist config: property domain (10000) is greater than the maximum allowable value (FFFF).
   
  $ lspci | tail
  0000:d7:16.1 Performance counters: Intel Corporation Device 2088 (rev 07)
  0000:d7:16.4 System peripheral: Intel Corporation Sky Lake-E M2PCI Registers (rev 07)
  0000:d7:16.5 Performance counters: Intel Corporation Device 2088 (rev 07)
  0000:d7:17.0 System peripheral: Intel Corporation Sky Lake-E M2PCI Registers (rev 07)
  0000:d7:17.1 Performance counters: Intel Corporation Device 2088 (rev 07)
  10000:00:00.0 PCI bridge: Intel Corporation Sky Lake-E PCI Express Root Port A (rev 07)
  10000:00:01.0 PCI bridge: Intel Corporation Sky Lake-E PCI Express Root Port B (rev 07)
  10000:00:02.0 PCI bridge: Intel Corporation Sky Lake-E PCI Express Root Port C (rev 07)
  10000:00:03.0 PCI bridge: Intel Corporation Sky Lake-E PCI Express Root Port D (rev 07)
  10000:01:00.0 Non-Volatile memory controller: Toshiba America Info Systems Device 0110 (rev 01)
   
  [1] https://opendev.org/openstack/nova/src/commit/d01972b272c0beade35e76aa84965c5c21124db9/nova/pci/devspec.py#L27
  [2] https://gitlab.com/libvirt/libvirt/-/commit/d19c21429fd1acfdade23c903804d6e279d1e00e

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



References