← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1964995] Re: [yoga][regression] network capabilities in extra info are overridden if vpd is present for a PCI device

 

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

commit c3ad968c875ae7fa67e7a1f8d321f1fc622897bc
Author: Dmitrii Shcherbakov <dmitrii.shcherbakov@xxxxxxxxxxxxx>
Date:   Tue Mar 15 21:11:24 2022 +0300

    Fix the PCI device capability dict creation
    
    VPD handling was added in ab49f97b2c08294234c7bfd3dedb75780ca519e6 and
    introduced a regression which was not caught by unit or functional
    tests: if a VPD capability is present for a PCI device, it overrides
    the network capabilities obtained from the associated netdev.
    
    This change fixes the issue and adds additional test coverage.
    
    Closes-Bug: #1964995
    Change-Id: Ifa9ae93530339828333dd3e23cdffe9f85e96a70


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

Title:
  [yoga][regression] network capabilities in extra info are overridden
  if vpd is present for a PCI device

Status in OpenStack Compute (nova):
  Fix Released

Bug description:
  VPD capability handling was added in
  https://opendev.org/openstack/nova/commit/ab49f97b2c08294234c7bfd3dedb75780ca519e6

  and now does a device dict update as follows

  https://opendev.org/openstack/nova/src/commit/dde15d9c475c8ef709578310d304c9d8ecb9d493/nova/virt/libvirt/host.py#L1428
          device.update(_get_device_capabilities(device, dev, net_devs))
          device.update(_get_vpd_details(device, dev, pci_devs))

  
  Which results in, for example, this content in the capabilities field:

   'capabilities': {'vpd': {'card_serial_number': 'testserial'}},

  instead of this

   'capabilities': {'network': ['rx',
                                'tx',
                                'sg',
                                'tso',
                                'gso',
                                'gro',
                                'rxvlan',
                                'txvlan'],
                    'vpd': {'card_serial_number': 'testserial'}}

  This is a regression from the earlier behavior, however, current unit
  and functional tests do not cover this.

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



References