Red Hat Bugzilla – Bug 1089179
The error is inaccurate when create snapshot with memspec snapshot=external and diskspec snapshot=no
Last modified: 2015-03-05 02:34:34 EST
Description of problem: The error is inaccurate when create snapshot with memspec snapshot=external and diskspec snapshot=no Version-Release number of selected component (if applicable): libvirt-1.1.1-29.el7.x86_64 qemu-kvm-rhev-1.5.3-45.el7.x86_64 How reproducible: 100% Steps to Reproduce: 1.prepare an guest with an heath guest os installed. keep it running status # virsh list --all Id Name State ---------------------------------------------------- 35 rhel6 running 2.do snapshot with memspec snapshot=external diskspec snapshot=no # virsh snapshot-create-as rhel6 --memspec snapshot=external,file=/tmp/sss --diskspec sda,snapshot=no --diskspec vdb,snapshot=no error: An error occurred, but the cause is unknown 3. Actual results: Expected results: libvirt should can do such type snapshot, or give an accurate error info Additional info:
This also occur on rhel6 with libvirt-0.10.2-33.el6.x86_64
Created attachment 887458 [details] libvirtd log
Fixed upstream: commit cb6681ff1de3d02e8d88ce3b391ba03f8dd612f4 Author: Peter Krempa <pkrempa@redhat.com> AuthorDate: 2014-05-20 15:22:14 +0200 Commit: Peter Krempa <pkrempa@redhat.com> CommitDate: 2014-05-20 19:28:10 +0200 qemu: snapshot: Fix return value of external checkpoint with no disks When doing an external checkpoint of a VM with no disk selected we'd return failure but not set error code. This was a result of ret not being set to 0 during walking of the disk array. Rework early failure checking and set the error code to success before iterating the array of disks so that we return success if no disks are snapshotted. Fixes the following symptom (or without --diskspec for diskless VMs) $ virsh snapshot-create-as snapshot-test --memspec /tmp/asdf --diskspec hda,snapshot=no error: An error occurred, but the cause is unknown git describe: v1.2.4-107-gcb6681f contains: v1.2.5-rc1~22
Verified it on qemu-kvm-rhev-2.1.0-5.el7.x86_64 libvirt-1.2.8-3.el7.x86_64 Steps: 1. # virsh list --all Id Name State ---------------------------------------------------- 2 qe-con running 2. # virsh snapshot-create-as qe-con --memspec snapshot=external,file=/tmp/s1 --diskspec hda,snapshot=no Domain snapshot 1411715584 created # virsh snapshot-dumpxml qe-con 1411715584 <domainsnapshot> <name>1411715584</name> <state>running</state> <parent> <name>1411715488</name> </parent> <creationTime>1411715584</creationTime> <memory snapshot='external' file='/tmp/s1'/> <disks> <disk name='hda' snapshot='no'/> </disks> ....... 3. # virsh snapshot-create-as qe-con --memspec snapshot=external,file=/tmp/s2 Domain snapshot 1411715645 created # virsh snapshot-dumpxml qe-con 1411715645 <domainsnapshot> <name>1411715645</name> <state>running</state> <parent> <name>1411715584</name> </parent> <creationTime>1411715645</creationTime> <memory snapshot='external' file='/tmp/s2'/> <disks> <disk name='hda' snapshot='external' type='file'> <driver type='qcow2'/> <source file='/tmp/disk.1411715645'/> </disk> </disks> Since the results are expected, set it to verified
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHSA-2015-0323.html