nova/nova
Balazs Gibizer ccab6fed46 Generate request_id for Flavor based InstancePCIRequest
The InstancePCIRequest.request_id is used to correlate allocated
PciDevice objects with the InstancePCIRequest object triggered the PCI
allocation. For neutron port based PCI requests the
IstancePCIRequest.request_id was already set to a generated UUID by
nova. But for Flavor based request the request_id was kept None. The
placement PCI scheduling code depends on the request_id to be a unique
identifier of the request. So this patch starts filling the request_id
for flavor based requests as well.

This change showed than in some places nova still uses the request_id ==
None condition to distinguish between flavor based and neutron based
requests. This logic is now adapted to use the newer and better
InstancePCIRequest.source based approach. Also we took the opportunity
to move the logic of querying PCI devices allocated to an instance to the
Instance ovo.

This change fills the request_id for newly created flavor based
InstancePCIRequest ovos. But the change in logic to use the
InstancePCIRequest.source property instead of the request_id == None
condition works even if the request_id is None for already existing
InstancePCIRequest objects. So this patch does not include a data
migration logic to fill request_id for existing objects.

blueprint: pci-device-tracking-in-placement
Change-Id: I53e03ff7a0221db682b043fb6d5adba3f5c9fdbe
2022-08-27 12:44:11 +02:00
..
accelerator smartnic support - reject server move and suspend 2021-08-05 15:58:41 +08:00
api Merge "Unify placement client singleton implementations" 2022-08-19 02:48:33 +00:00
cmd Unify placement client singleton implementations 2022-08-18 07:22:37 -07:00
compute Allow enabling PCI tracking in Placement 2022-08-27 12:41:20 +02:00
conductor Avoid n-cond startup abort for keystone failures 2022-08-18 07:37:42 -07:00
conf Allow enabling PCI tracking in Placement 2022-08-27 12:41:20 +02:00
console Fix typos 2022-05-30 17:40:00 +05:30
db BlockDeviceMapping: Add encryption fields 2022-08-02 21:25:47 +00:00
hacking hacking: force explicit import of python's mock 2022-08-02 15:31:19 +02:00
image Merge "Close Glance image if downloading failed." 2022-01-17 10:31:21 +00:00
keymgr
limit Unify placement client singleton implementations 2022-08-18 07:22:37 -07:00
locale Imported Translations from Zanata 2022-08-10 03:57:11 +00:00
network Generate request_id for Flavor based InstancePCIRequest 2022-08-27 12:44:11 +02:00
notifications image_meta: Add ephemeral encryption properties 2022-08-02 21:25:47 +00:00
objects Generate request_id for Flavor based InstancePCIRequest 2022-08-27 12:44:11 +02:00
pci Generate request_id for Flavor based InstancePCIRequest 2022-08-27 12:44:11 +02:00
policies Remove system scope from all APIs 2022-08-24 13:12:16 +00:00
privsep Retry lvm volume and volume group query 2021-06-15 12:39:26 +02:00
releasenotes/notes api: enable oslo.reports when using uWSGI 2021-10-14 09:23:08 +03:00
scheduler Handle PCI dev reconf with allocations 2022-08-26 19:05:45 +02:00
servicegroup Remove six.binary_type/integer_types/string_types 2020-12-13 11:25:14 +00:00
storage Add autopep8 to tox and pre-commit 2021-11-08 12:37:27 +00:00
tests Generate request_id for Flavor based InstancePCIRequest 2022-08-27 12:44:11 +02:00
virt Generate request_id for Flavor based InstancePCIRequest 2022-08-27 12:44:11 +02:00
volume Retry attachment delete API call for 504 Gateway Timeout 2022-06-13 17:32:35 +09:00
__init__.py
availability_zones.py Remove six.PY2 and six.PY3 2020-08-15 07:45:23 +00:00
baserpc.py
block_device.py BlockDeviceMapping: Add encryption fields 2022-08-02 21:25:47 +00:00
cache_utils.py
config.py conf: Allow cinderclient and os_brick to independently log at DEBUG 2021-12-03 18:21:16 +00:00
context.py Log the exception returned from a cell during API.get() 2022-05-03 02:03:26 +00:00
crypto.py Replace md5 for fips 2021-02-25 16:01:43 -05:00
debugger.py trivial: Remove remaining '_LW' instances 2020-05-18 17:00:41 +01:00
exception_wrapper.py rpc: Rework 'get_notifier', 'wrap_exception' 2021-03-01 11:06:48 +00:00
exception.py Retry /reshape at provider generation conflict 2022-08-25 10:00:10 +02:00
filters.py Add autopep8 to tox and pre-commit 2021-11-08 12:37:27 +00:00
i18n.py trivial: Remove remaining '_LI' instances 2020-05-18 17:00:57 +01:00
loadables.py
manager.py db: Unify 'nova.db.api', 'nova.db.sqlalchemy.api' 2021-08-09 15:34:40 +01:00
middleware.py Allow X-OpenStack-Nova-API-Version header in CORS 2021-06-15 07:35:36 -04:00
monkey_patch.py reenable greendns in nova. 2022-03-08 16:16:11 +00:00
policy.py Reuse code from oslo lib for JSON policy migration 2021-01-14 22:41:33 +00:00
profiler.py
quota.py Unify placement client singleton implementations 2022-08-18 07:22:37 -07:00
rpc.py rpc: Rework 'get_notifier', 'wrap_exception' 2021-03-01 11:06:48 +00:00
safe_utils.py
service_auth.py
service.py Add service version check workaround for FFU 2022-01-24 08:45:58 -08:00
test.py Unify placement client singleton implementations 2022-08-18 07:22:37 -07:00
utils.py Fix eventlet.tpool import 2022-02-22 12:40:15 +01:00
version.py Change API unexpected exception message 2021-02-17 21:30:07 +00:00
weights.py Add debug log for scheduler weight calculation 2021-11-11 19:10:32 +01:00
wsgi.py trivial: Remove remaining '_LI' instances 2020-05-18 17:00:57 +01:00