yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #95481
[Bug 2102038] [NEW] Multiple spec for a single PCI alias config causes HTTP 500 if PCI In Placement is enabled
Public bug reported:
Reproduction:
* define the [pci]alias config in a way that a single alias name is repeated and therefore associated with multiple spec dicts. E.g.:
[pci]
alias = { "name": "vf1", "product_id":"10ca", "vendor_id":"8086", "device_type":"type-VF"}
alias = { "name": "vf1", "product_id":"f000", "vendor_id":"8086", "device_type":"type-VF"}
This would mean the alias vf1 can be fulfilled from devices with product
id 10ca OR f000.
* create a flavor using the vf1 alias by using the pci_passthrough:alias: vf1:1 flavor extra spec
* try to boot a VM with the flavor
Expected:
* either the VM boots successfully or the request is rejected that such PCI alias configuration is not supported
Actual:
* nova returns HTTP 500
Logs:
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi [None req-abaf1336-36f9-4877-9b56-6c30f21ac6ca admin admin] Unexpected exception in API method: ValueError: PCI tracking in placement does not support multiple specs per PCI request
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi Traceback (most recent call last):
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 731, in wrapped
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi return f(*args, **kwargs)
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi ^^^^^^^^^^^^^^^^^^
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi File "/opt/stack/nova/nova/api/validation/__init__.py", line 135, in wrapper
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi return func(*args, **kwargs)
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi ^^^^^^^^^^^^^^^^^^^^^
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi File "/opt/stack/nova/nova/api/validation/__init__.py", line 135, in wrapper
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi return func(*args, **kwargs)
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi ^^^^^^^^^^^^^^^^^^^^^
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi File "/opt/stack/nova/nova/api/validation/__init__.py", line 135, in wrapper
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi return func(*args, **kwargs)
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi ^^^^^^^^^^^^^^^^^^^^^
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi [Previous line repeated 11 more times]
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi File "/opt/stack/nova/nova/api/openstack/compute/servers.py", line 786, in create
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi instances, resv_id = self.compute_api.create(
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi ^^^^^^^^^^^^^^^^^^^^^^^^
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi File "/opt/stack/nova/nova/compute/api.py", line 2237, in create
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi return self._create_instance(
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi ^^^^^^^^^^^^^^^^^^^^^^
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi File "/opt/stack/nova/nova/compute/api.py", line 1764, in _create_instance
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi instances_to_build = self._provision_instances(
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi ^^^^^^^^^^^^^^^^^^^^^^^^^^
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi File "/opt/stack/nova/nova/compute/api.py", line 1580, in _provision_instances
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi with excutils.save_and_reraise_exception():
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_utils/excutils.py", line 227, in __exit__
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi self.force_reraise()
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_utils/excutils.py", line 200, in force_reraise
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi raise self.value
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi File "/opt/stack/nova/nova/compute/api.py", line 1447, in _provision_instances
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi req_spec = objects.RequestSpec.from_components(
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi File "/opt/stack/nova/nova/objects/request_spec.py", line 655, in from_components
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi spec_obj.generate_request_groups_from_pci_requests()
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi File "/opt/stack/nova/nova/objects/request_spec.py", line 525, in generate_request_groups_from_pci_requests
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi raise ValueError(
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi ValueError: PCI tracking in placement does not support multiple specs per PCI request
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi
Mar 11 17:24:09 aio devstack@n-api.service[235073]: INFO nova.api.openstack.wsgi [None req-abaf1336-36f9-4877-9b56-6c30f21ac6ca admin admin] HTTP exception thrown: Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and attach the Nova API log if possible.
Mar 11 17:24:09 aio devstack@n-api.service[235073]: <class 'ValueError'>
Mar 11 17:24:09 aio devstack@n-api.service[235073]: DEBUG nova.api.openstack.wsgi [None req-abaf1336-36f9-4877-9b56-6c30f21ac6ca admin admin] Returning 500 to user: Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and attach the Nova API log if possible.
Mar 11 17:24:09 aio devstack@n-api.service[235073]: <class 'ValueError'> {{(pid=235073) __call__ /opt/stack/nova/nova/api/openstack/wsgi.py:1014}}
Mar 11 17:24:09 aio devstack@n-api.service[235073]: INFO nova.api.openstack.requestlog [None req-abaf1336-36f9-4877-9b56-6c30f21ac6ca admin admin] 192.168.121.77 "POST /compute/v2.1/servers" status: 500 len: 184 microversion: 2.96 time: 0.054444
** Affects: nova
Importance: Undecided
Assignee: Balazs Gibizer (balazs-gibizer)
Status: New
** Changed in: nova
Assignee: (unassigned) => Balazs Gibizer (balazs-gibizer)
--
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/2102038
Title:
Multiple spec for a single PCI alias config causes HTTP 500 if PCI In
Placement is enabled
Status in OpenStack Compute (nova):
New
Bug description:
Reproduction:
* define the [pci]alias config in a way that a single alias name is repeated and therefore associated with multiple spec dicts. E.g.:
[pci]
alias = { "name": "vf1", "product_id":"10ca", "vendor_id":"8086", "device_type":"type-VF"}
alias = { "name": "vf1", "product_id":"f000", "vendor_id":"8086", "device_type":"type-VF"}
This would mean the alias vf1 can be fulfilled from devices with
product id 10ca OR f000.
* create a flavor using the vf1 alias by using the pci_passthrough:alias: vf1:1 flavor extra spec
* try to boot a VM with the flavor
Expected:
* either the VM boots successfully or the request is rejected that such PCI alias configuration is not supported
Actual:
* nova returns HTTP 500
Logs:
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi [None req-abaf1336-36f9-4877-9b56-6c30f21ac6ca admin admin] Unexpected exception in API method: ValueError: PCI tracking in placement does not support multiple specs per PCI request
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi Traceback (most recent call last):
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 731, in wrapped
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi return f(*args, **kwargs)
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi ^^^^^^^^^^^^^^^^^^
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi File "/opt/stack/nova/nova/api/validation/__init__.py", line 135, in wrapper
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi return func(*args, **kwargs)
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi ^^^^^^^^^^^^^^^^^^^^^
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi File "/opt/stack/nova/nova/api/validation/__init__.py", line 135, in wrapper
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi return func(*args, **kwargs)
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi ^^^^^^^^^^^^^^^^^^^^^
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi File "/opt/stack/nova/nova/api/validation/__init__.py", line 135, in wrapper
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi return func(*args, **kwargs)
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi ^^^^^^^^^^^^^^^^^^^^^
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi [Previous line repeated 11 more times]
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi File "/opt/stack/nova/nova/api/openstack/compute/servers.py", line 786, in create
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi instances, resv_id = self.compute_api.create(
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi ^^^^^^^^^^^^^^^^^^^^^^^^
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi File "/opt/stack/nova/nova/compute/api.py", line 2237, in create
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi return self._create_instance(
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi ^^^^^^^^^^^^^^^^^^^^^^
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi File "/opt/stack/nova/nova/compute/api.py", line 1764, in _create_instance
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi instances_to_build = self._provision_instances(
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi ^^^^^^^^^^^^^^^^^^^^^^^^^^
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi File "/opt/stack/nova/nova/compute/api.py", line 1580, in _provision_instances
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi with excutils.save_and_reraise_exception():
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_utils/excutils.py", line 227, in __exit__
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi self.force_reraise()
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_utils/excutils.py", line 200, in force_reraise
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi raise self.value
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi File "/opt/stack/nova/nova/compute/api.py", line 1447, in _provision_instances
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi req_spec = objects.RequestSpec.from_components(
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi File "/opt/stack/nova/nova/objects/request_spec.py", line 655, in from_components
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi spec_obj.generate_request_groups_from_pci_requests()
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi File "/opt/stack/nova/nova/objects/request_spec.py", line 525, in generate_request_groups_from_pci_requests
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi raise ValueError(
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi ValueError: PCI tracking in placement does not support multiple specs per PCI request
Mar 11 17:24:09 aio devstack@n-api.service[235073]: ERROR nova.api.openstack.wsgi
Mar 11 17:24:09 aio devstack@n-api.service[235073]: INFO nova.api.openstack.wsgi [None req-abaf1336-36f9-4877-9b56-6c30f21ac6ca admin admin] HTTP exception thrown: Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and attach the Nova API log if possible.
Mar 11 17:24:09 aio devstack@n-api.service[235073]: <class 'ValueError'>
Mar 11 17:24:09 aio devstack@n-api.service[235073]: DEBUG nova.api.openstack.wsgi [None req-abaf1336-36f9-4877-9b56-6c30f21ac6ca admin admin] Returning 500 to user: Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and attach the Nova API log if possible.
Mar 11 17:24:09 aio devstack@n-api.service[235073]: <class 'ValueError'> {{(pid=235073) __call__ /opt/stack/nova/nova/api/openstack/wsgi.py:1014}}
Mar 11 17:24:09 aio devstack@n-api.service[235073]: INFO nova.api.openstack.requestlog [None req-abaf1336-36f9-4877-9b56-6c30f21ac6ca admin admin] 192.168.121.77 "POST /compute/v2.1/servers" status: 500 len: 184 microversion: 2.96 time: 0.054444
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/2102038/+subscriptions