summaryrefslogtreecommitdiff
path: root/nova/exception.py
diff options
context:
space:
mode:
authorBalazs Gibizer <gibi@redhat.com>2022-06-17 18:41:52 +0200
committerBalazs Gibizer <gibi@redhat.com>2022-08-25 10:00:10 +0200
commit953f1eef19139a6b7b47d56802f211008ca72e7c (patch)
treea810468c0cda97f81439f812834bb607f47d575b /nova/exception.py
parent2b447b7236f95752d00ebcee8c32cfef4850cf5d (diff)
downloadnova-953f1eef19139a6b7b47d56802f211008ca72e7c.tar.gz
Basics for PCI Placement reporting
A new PCI resource handler is added to the update_available_resources code path update the ProviderTree with PCI device RPs, inventories and traits. It is a bit different than the other Placement inventory reporter. It does not run in the virt driver level as PCI is tracked in a generic way in the PCI tracker in the resource tracker. So the virt specific information is already parsed and abstracted by the resource tracker. Another difference is that to support rolling upgrade the PCI handler code needs to be prepared for situations where the scheduler does not create PCI allocations even after some of the compute already started reporting inventories and started healing PCI allocations. So the code is not prepared to do a single, one shot, reshape at startup, but instead to do a continuous healing of the allocations. We can remove this continuous healing after the PCI prefilter will be made mandatory in a future release. The whole PCI placement reporting behavior is disabled by default while it is incomplete. When it is functionally complete a new [pci]report_in_placement config option will be added to allow enabling the feature. This config is intentionally not added by this patch as we don't want to allow enabling this logic yet. blueprint: pci-device-tracking-in-placement Change-Id: If975c3ec09ffa95f647eb4419874aa8417a59721
Diffstat (limited to 'nova/exception.py')
-rw-r--r--nova/exception.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/nova/exception.py b/nova/exception.py
index eedf2a4e7d..58aced18c5 100644
--- a/nova/exception.py
+++ b/nova/exception.py
@@ -2427,3 +2427,8 @@ class ProviderConfigException(NovaException):
"""
msg_fmt = _("An error occurred while processing "
"a provider config file: %(error)s")
+
+
+class PlacementPciException(NovaException):
+ msg_fmt = _(
+ "Failed to gather or report PCI resources to Placement: %(error)s")