summaryrefslogtreecommitdiff
path: root/nova/conductor
diff options
context:
space:
mode:
authorBalazs Gibizer <gibi@redhat.com>2022-08-23 19:58:25 +0200
committerBalazs Gibizer <gibi@redhat.com>2022-12-21 16:17:34 +0100
commite667a7f8d807f5c2e8d3137eed91072881adb793 (patch)
treee354e56842fa53990add6eac11afd3962d50f456 /nova/conductor
parent1462883dcc68be1371197264d704a44fcc289dfd (diff)
downloadnova-e667a7f8d807f5c2e8d3137eed91072881adb793.tar.gz
Support cold migrate and resize with PCI tracking in placement
This patch adds support for cold migrate, and resize with PCI devices when the placement tracking is enabled. Same host resize, evacuate and unshelve will be supported by subsequent patches. Live migration was not supported with flavor based PCI requests before so it won't be supported now either. blueprint: pci-device-tracking-in-placement Change-Id: I8eec331ab3c30e5958ed19c173eff9998c1f41b0
Diffstat (limited to 'nova/conductor')
-rw-r--r--nova/conductor/tasks/migrate.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/nova/conductor/tasks/migrate.py b/nova/conductor/tasks/migrate.py
index 8838d0240a..754f9e5ba7 100644
--- a/nova/conductor/tasks/migrate.py
+++ b/nova/conductor/tasks/migrate.py
@@ -258,6 +258,11 @@ class MigrationTask(base.TaskBase):
# resource requests in a single list and add them to the RequestSpec.
self.request_spec.requested_resources = port_res_req
self.request_spec.request_level_params = req_lvl_params
+ # NOTE(gibi): as PCI devices is tracked in placement we need to
+ # generate request groups from InstancePCIRequests. This will append
+ # new RequestGroup objects to the request_spec.requested_resources list
+ # if needed
+ self.request_spec.generate_request_groups_from_pci_requests()
self._set_requested_destination_cell(legacy_props)