Skip to content

Unable to revert to VM snapshot after virtual machine stop/start: "Target CPU check full does not match source partial" #7538

@phsm

Description

@phsm
ISSUE TYPE
  • Bug Report
COMPONENT NAME
Virtual Machine snapshot
CLOUDSTACK VERSION
4.17.2
CONFIGURATION
OS / ENVIRONMENT
  • KVM hypervisors
  • Ubuntu 20.04
  • Libvirt 6.0.0-0ubuntu8.16
SUMMARY

Error while reverting to VM snapshot after stop/start or migrate VM

STEPS TO REPRODUCE
1. Create/start a virtual machine.
2. Make a virtual machine snapshot with memory checkbox enabled
3. Stop/start or migrate the virtual machine to another host.
4. Try to revert the VM to the snapshot
EXPECTED RESULTS
The VM should be reverted to the snapshot
ACTUAL RESULTS
The following error occurs:
Invocation exception, caused by: 
com.cloud.utils.exception.CloudRuntimeException:
Revert VM: i-6309-123846-VM to snapshot: i-6309-123846-VM_VS_20230514183015 failed due to  
Revert to VM snapshot failed due to org.libvirt.LibvirtException: 
revert requires force: Target CPU check full does not match source partial
ADDITIONAL INFO

This error seems to come from libvirt, not cloudstack.
When making a VM snapshot, libvirt embeds the "metadata" of the virtual machine inside the snapshot. It is done to check the snapshot VM properties (cpu flags, amount of cores, devices models etc.) against the running VM properties before reverting to a snapshot. If they don't match then the snapshot can only be restored with --force flag as the integrity of the VM memory contents can not be guaranteed anymore.

However, it is odd that the issue happens even on a same node just after stop/start the virtual machine (nothing changes in between).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions