nova/nova
Balazs Gibizer 8911da6923 Strictly follow placement allocation during PCI claim
The current PCI claim logic only ensures that the PCI devices are
allocated from the pools that are also used by the placement allocation.
But it does not make sure that the correct amount of device is consumed
from the correct pool. This could lead to a situation where the
placement allocation used one dev from RP1 and two devs from RP2 while
the PCI claim did the opposite and allocated two devs from the pool
mapped to RP1 and one from the other.

This patch fixes the logic in the stats module to not only consider the
pools but also consider the amount of devices based on the placement
allocation (candidate).

blueprint: pci-device-tracking-in-placement
Change-Id: Ibc8cacc85a09ffc2985c1eb637ae35014b8e595e
2023-01-05 17:40:02 +01:00
..
accelerator smartnic support - reject server move and suspend 2021-08-05 15:58:41 +08:00
api doc: mark the max microversion for zed 2022-09-03 10:34:20 +09:00
cmd Add documentation and releasenotes for RBAC change 2022-08-30 01:44:33 +05:30
compute Strictly follow placement allocation during PCI claim 2023-01-05 17:40:02 +01:00
conductor Support unshelve with PCI in placement 2022-12-21 16:17:34 +01:00
conf Allow enabling PCI scheduling in Placement 2023-01-05 17:25:27 +01: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 Gracefully ERROR in _init_instance if vnic_type changed 2022-09-08 09:19:16 +02:00
notifications libvirt: Add vIOMMU device to guest 2022-09-01 04:50:16 +08:00
objects Allow enabling PCI scheduling in Placement 2023-01-05 17:25:27 +01:00
pci Strictly follow placement allocation during PCI claim 2023-01-05 17:40:02 +01:00
policies Keep legacy admin behaviour in new RBAC 2022-08-24 16:33:27 +00:00
privsep Retry lvm volume and volume group query 2021-06-15 12:39:26 +02:00
scheduler Filter PCI pools based on Placement allocation 2022-10-17 13:56:18 +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 Strictly follow placement allocation during PCI claim 2023-01-05 17:40:02 +01:00
virt Filter PCI pools based on Placement allocation 2022-10-17 13:56:18 +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
exception.py Merge "libvirt: Add vIOMMU device to guest" 2022-09-01 19:56:09 +00:00
exception_wrapper.py rpc: Rework 'get_notifier', 'wrap_exception' 2021-03-01 11:06:48 +00:00
filters.py Add autopep8 to tox and pre-commit 2021-11-08 12:37:27 +00:00
i18n.py
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.py Add service version check workaround for FFU 2022-01-24 08:45:58 -08:00
service_auth.py
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