Bug 1008340
| Summary: | cannot restore VM with disabled usb support to snapshot with RAM | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Arik <ahadas> | ||||
| Component: | libvirt | Assignee: | Peter Krempa <pkrempa> | ||||
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Virtualization Bugs <virt-bugs> | ||||
| Severity: | unspecified | Docs Contact: | |||||
| Priority: | urgent | ||||||
| Version: | 7.0 | CC: | acathrow, ahadas, bili, cwei, didi, dyuan, michal.skrivanek, mjenner, pkrempa, shyu | ||||
| Target Milestone: | rc | ||||||
| Target Release: | --- | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | libvirt-1.1.1-6.el7 | Doc Type: | Bug Fix | ||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | |||||||
| : | 1011520 (view as bug list) | Environment: | |||||
| Last Closed: | 2014-06-13 12:59:27 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Bug Depends On: | |||||||
| Bug Blocks: | 1001709, 1011520 | ||||||
| Attachments: |
|
||||||
|
Description
Arik
2013-09-16 08:19:38 UTC
There are two problems that lead to this bug:
1) The XML stored in the snapshot memory file is NOT a "migratable" definition due to a mistake in the original implementation.
2) The check done when restoring was fixed to take migratable XMLs that are used to restore saved vm images. This produces the incompatible error message.
commit 07966f6a8b5ccb5bb4c716b25deb8ba2e572cc67
Author: Ján Tomko <jtomko>
Date: Tue Jun 11 15:03:17 2013 +0200
qemu: allow restore with non-migratable XML input
Convert input XML to migratable before using it in
qemuDomainSaveImageOpen.
XML in the save image is migratable, i.e. doesn't contain implicit
controllers. If these controllers were in a non-default order in the
input XML, the ABI check would fail. Removing and re-adding these
controllers fixes it.
https://bugzilla.redhat.com/show_bug.cgi?id=834196
git desc --contains 07966f6a
v1.1.0-rc1~96
Posted patches for upstream review: http://www.redhat.com/archives/libvir-list/2013-September/msg00850.html Fixed upstream:
commit 1b7bfa65e36996fc3a204452d2a844ab9f4b52b3
Author: Peter Krempa <pkrempa>
Date: Mon Sep 16 13:40:42 2013 +0200
qemu: Use "migratable" XML definition when doing external checkpoints
In the original implementation of external checkpoints I've mistakenly
used the live definition to be stored in the save image. The normal
approach is to use the "migratable" definition. This was discovered when
commit 07966f6a8b5ccb5bb4c716b25deb8ba2e572cc67 changed the behavior to
use a converted XML from the user to do the compatibility check to fix
problem when using the regular machine saving.
As the previous patch added a compatibility layer, we can now change the
type of the XML in the image.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1008340
commit 59898a88ce8431bd3ea249b8789edc2ef9985827
Author: Peter Krempa <pkrempa>
Date: Mon Sep 16 13:37:34 2013 +0200
qemu: Fix checking of ABI stability when restoring external checkpoints
External checkpoints have a bug in the implementation where they use the
normal definition instead of the "migratable" one. This causes errors
when the snapshot is being reverted using the workaround method via
qemuDomainRestoreFlags() with a custom XML. This issue was introduced
when commit 07966f6a8b5ccb5bb4c716b25deb8ba2e572cc67 changed the code to
compare "migratable" XMLs from the user as we should have used
migratable in the image too.
This patch adds a compatibility layer, so that fixing the snapshot code
won't make existing snapshots fail to load.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1008340
Reproduce it with libvirt-1.0.5-1.el7.x86_64, verify it with libvirt-1.1.1-13.el7.x86_64 with libvirt-1.0.5-1.el7.x86_64: # virsh snapshot-create-as rhel6 ss1 --memspec file=/tmp/rhel6.ss1 Domain snapshot ss1 created # virsh snapshot-revert rhel6 ss1 error: revert requires force: Target controller type virtio-serial does not match source usb with libvirt-1.1.1-13.el7.x86_64: # virsh snapshot-create-as rhel6 s1 --memspec file=/tmp/rhel6.s1 Domain snapshot s1 created # virsh snapshot-revert rhel6 s1 so change this bug to verify. This request was resolved in Red Hat Enterprise Linux 7.0. Contact your manager or support representative in case you have further questions about the request. |