← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1487451] Re: Stale pci_stats in the DB after PCI reconfiguration

 

Reviewed:  https://review.openstack.org/216049
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=47181ae3ebcd1533c22378ee31a4b1f0848926d6
Submitter: Jenkins
Branch:    master

commit 47181ae3ebcd1533c22378ee31a4b1f0848926d6
Author: Ludovic Beliveau <ludovic.beliveau@xxxxxxxxxxxxx>
Date:   Wed Nov 18 11:52:39 2015 -0500

    Allow saving empty pci_device_pools in ComputeNode object
    
    Prior to this patch, saving a ComputeNode with a pci_device_pools attribute
    that has no objects specified in it (empty PciDevicePool list) would result in
    the change not being saved.  Object of type PciDevicePoolList are evaluated
    like a list, thefore a conditional statement like 'if pools' will always
    evaluate to False even if 'pools' is not None.
    
    Without this fix, if 'pci_passthrough_whitelist' is cleared in the
    configuration, nova scheduler still think a compute node has PCI devices
    available and can still trigger scheduling an instance with PCI devices on the
    node.
    
    Change-Id: Ib3c19d569b9b3b23a293ad55dd9023291435d5a6
    Closes-Bug: #1487451


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

Title:
  Stale pci_stats in the DB after PCI reconfiguration

Status in OpenStack Compute (nova):
  Fix Released

Bug description:
  Changes in PCI device configuration is not reflected in the database
  (pci_stats).  After nova reboot, pci_stats still hold stale data.
  This happen only when the compute as at some point interfaces
  configured with PCI SR-IOV or passthrough (in the
  pci_passthrough_whitelist) and then all those interfaces are removed.

  Steps to reproduce:
  1. Configure SR-IOV on an interface and edit nova.conf/pci_passthrough_whitelist accordingly.
  2. Start nova on the compute.
  3. Remove the SR-IOV interface and it's configuration in nova.conf.
  4. Restart nova on the compute.
  5. Validate that pci_stats still hold the PCI device information by looking at the SQL database.

  This behavior cause the scheduler to still try to schedule an instance
  on the compute that had PCI configured even since no PCI device are
  availalble.

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


References