[pve-devel] [PATCH qemu-server v7 5/9] check_local_resources: allow mapped devices for offline migration
Dominik Csapak
d.csapak at proxmox.com
Tue Mar 11 14:20:45 CET 2025
by not marking them as 'local_resources'.
Change the description for the 'migrate' precondition api call, to
clarify what 'local_resources' was meant to be (a list of devices that
are blockers for migration).
It could be argued that this is a breaking change, since some api client
might depend on this list to block or allow migration. The worst case
that should happen though is that migrations are allowed that wouldn't
before, but only for devices that are mapped anyway, and that fails if
the target node does not have a mapping, and should succeed otherwise.
Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
PVE/API2/Qemu.pm | 2 +-
PVE/QemuServer.pm | 3 +++
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm
index f6157a3e..060bca8b 100644
--- a/PVE/API2/Qemu.pm
+++ b/PVE/API2/Qemu.pm
@@ -4663,7 +4663,7 @@ __PACKAGE__->register_method({
type => 'string',
description => "A local resource",
},
- description => "List local resources e.g. pci, usb"
+ description => "List local resources (e.g. pci, usb) that block migration."
},
'mapped-resources' => {
type => 'array',
diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index ce3c36d8..97662704 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -2524,6 +2524,9 @@ sub check_local_resources {
# don't add mapped device with live migration as blocker
next;
}
+
+ # don't add mapped devices as blocker for offline migration
+ next if !$state;
}
}
# sockets are safe: they will recreated be on the target side post-migrate
--
2.39.5
More information about the pve-devel
mailing list