← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 2111440] Re: PCI in Placement logs an Invalid resource class error if neither resource class nor vendor_id product_id is provided in the PCI alias config

 

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

commit acc6221660d5113314c66361cace9e3982fa76bf
Author: Balazs Gibizer <gibi@xxxxxxxxxx>
Date:   Wed May 28 14:32:54 2025 +0200

    Validated that PCI alias has proper ids
    
    Either the vendor_id and product_id needs to be set or the
    resource_class needs to be set in each alias. This is now validated when
    the alias is parsed to avoid late failure during placement
    allocation_candidates query.
    
    Closes-Bug: #2111440
    Change-Id: I7fd43b3d6faac8c4098b0983e8adc596414823a1


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

Title:
  PCI in Placement logs an Invalid resource class  error if neither
  resource class nor vendor_id product_id is provided in the PCI alias
  config

Status in OpenStack Compute (nova):
  Fix Released

Bug description:
  May 21 15:45:11 jammy nova-scheduler[18697]: ERROR nova.scheduler.client.report [None req-45416b86-0807-4fc6-92f4-ce84e7c209d3 demo demo] Failed to retrieve allocation candidates from placement API for filters: RequestGroup(aggregates=[],forbidden_aggregates=set([]),forbidden_traits=set([]),in_tree=None,provider_uuids=[],requester_id='c75d7e16-b840-4b35-b327-7dea81b3736e-0',required_traits=set(['CUSTOM_NVME256G']),resources={CUSTOM_PCI_NONE_NONE=1},use_same_provider=True), RequestGroup(aggregates=[],forbidden_aggregates=set([]),forbidden_traits=set([]),in_tree=None,provider_uuids=[],requester_id=None,required_traits=set([]),resources={DISK_GB=1,MEMORY_MB=256,VCPU=1},use_same_provider=False)
  May 21 15:45:11 jammy nova-scheduler[18697]: Got 400: {"errors": [{"status": 400, "title": "Bad Request", "detail": "The server could not comply with the request since it is either malformed or otherwise incorrect.\n\n Invalid resource class in resources parameter: No such resource class CUSTOM_PCI_NONE_NONE.  ", "code": "placement.undefined_code", "request_id": "req-aca3ba2f-cf91-41de-965d-8b37468614c3"}]}.

  
  nova conf:
  [pci]
  alias = { "name": "nic-foo", "traits": "foo"}

  
  While it is correct that nova fails the scheduling. It should fail with a meaningful log message. 

  Also we should think about pre-validating the pci alias config at
  service startup instead of only loading and verifying them when a VM
  is requesting them.

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



References