diff options
author | Balazs Gibizer <gibi@redhat.com> | 2022-06-17 18:41:52 +0200 |
---|---|---|
committer | Balazs Gibizer <gibi@redhat.com> | 2022-08-25 10:00:10 +0200 |
commit | 953f1eef19139a6b7b47d56802f211008ca72e7c (patch) | |
tree | a810468c0cda97f81439f812834bb607f47d575b /nova/exception.py | |
parent | 2b447b7236f95752d00ebcee8c32cfef4850cf5d (diff) | |
download | nova-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.py | 5 |
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") |