mirror of
https://github.com/retspen/webvirtcloud
synced 2026-11-10 04:06:47 +00:00
fix(vrtManager): refuse to migrate a VM with snapshots in every state
libvirt keeps snapshot metadata on the source host and a migration does not carry it, even when both hosts share the disks. Only the shut-off path refused such a VM itself; a running or paused one relied on libvirt's own refusal. moveto now refuses it for every state, before any check against the destination, with the same message.
This commit is contained in:
parent
097a91592c
commit
5388743053
2 changed files with 16 additions and 3 deletions
|
|
@ -117,6 +117,10 @@ class wvmInstances(wvmConnect):
|
|||
mode.append(label)
|
||||
|
||||
dom = conn.instance
|
||||
# libvirt keeps snapshot metadata on the source host: shared disks do
|
||||
# not carry it to the destination.
|
||||
if dom.snapshotNum(0):
|
||||
raise util.OperationError("A VM with snapshots cannot be migrated")
|
||||
if state == 5:
|
||||
self.refuse_local_state(dom.XMLDesc(0))
|
||||
definitions = {dom.XMLDesc(0)}
|
||||
|
|
@ -283,8 +287,6 @@ class wvmInstances(wvmConnect):
|
|||
first (RHEL-145770) and tracks the fix as RHEL-156800; RHEL/Rocky 9.8
|
||||
with libvirt 11.10.0-12.el9_8 is affected. When supported hosts all
|
||||
have the fix, offline migration can go back to dom.migrate."""
|
||||
if dom.snapshotNum(0):
|
||||
raise util.OperationError("A VM with snapshots cannot be migrated")
|
||||
if dom.hasManagedSaveImage(0):
|
||||
raise util.OperationError("A VM with a saved state cannot be migrated")
|
||||
for lookup, key in ((self.wvm.lookupByUUIDString, dom.UUIDString()), (self.wvm.lookupByName, dom.name())):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue