Bug 742410
Summary: | Output need be improved for virsh snapshot-parent | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | Alex Jia <ajia> |
Component: | libvirt | Assignee: | Eric Blake <eblake> |
Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 6.2 | CC: | acathrow, dallan, mzhan, nzhang, rwu, veillard, weizhan |
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | libvirt-0.9.4-15.el6 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2011-12-06 11:34:47 UTC | Type: | --- |
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: | 747120 |
Description
Alex Jia
2011-09-30 02:44:08 UTC
Patch for upstream: commit 4ee8092dde8b2f017dd862159f8c70fb4092b721 Author: Eric Blake <eblake> Date: Sat Sep 24 18:02:24 2011 -0600 snapshot: implement getparent in qemu First hypervisor implementation of the new API. Allows 'virsh snapshot-list --tree' to be more efficient. * src/qemu/qemu_driver.c (qemuDomainSnapshotGetParent): New function. I'll handle this. We cannot backport 4ee8092, since we cannot add new API without a rebase. But it is still possible to make virsh smarter about snapshots without parents, even without new API. Also, 'virsh snapshot-current' has existed longer than snapshot-parent. It currently outputs nothing, but gives status 0, when there is no current snapshot. Both 'snapshot-current --name' and snapshot-parent are intended for use in scripting situations, so any errors they output must be to stderr. But I'm not yet decided on whether they should silently exit with status 0 and no output, or noisily exit with status 1 and an error message, when there is no hit (that is, the specific error VIR_ERR_NO_SNAPSHOT_DOMAIN). Of course, for other errors, such as virDomainSnaphot{Current,GetParent,GetXMLDesc} not supported, or for the domain deleted in the meantime, and so forth, these should error out, leaving the silent status for just the case of no hit, if I decide to go for the silent behavior. Your report also made me realize that upstream has a bug not present in RHEL 6.2: # tools/virsh dom testing2 error: unknown procedure: 244 That is, when virDomainSnapshotGetParent is not present, the upstream code is not properly squelching that error message when it falls back to virDomainSnapshotGetXMLDesc. (In reply to comment #4) > Your report also made me realize that upstream has a bug not present in RHEL > 6.2: > # tools/virsh dom testing2 > error: unknown procedure: 244 Sorry, that should have been: # tools/virsh snapshot-parent dom testing2 Upstream patch proposed, which will issue an error for both snapshot-current and snapshot-parent when nothing is found: https://www.redhat.com/archives/libvir-list/2011-September/msg01311.html Backporting this required some conflict resolution, since the backport must avoid the new API, but I have something in my scratch directory ready to post as soon as I have upstream commit ids to refer back to. In looking at this backport more, I have a choice: Omit 'virsh snapshot-list --tree' support, and deal with more conflict resolution but fewer patches Include 'virsh snapshot-list --tree' support, which results in a lot more patches, but much less conflict resolution Both approaches only need to touch virsh code, so they are acceptable levels of risk even this late in RHEL 6.2. I'll probably post both varieties, once my 'virsh snapshot-list --tree' support is completely approved upstream (commit 1cf0e3d is in, but it introduces typos that won't be fixed until the virsh patches from this series are approved: https://www.redhat.com/archives/libvir-list/2011-September/msg01326.html) In POST: Option 1: 2 patches, conflict resolution: https://www.redhat.com/archives/libvir-list/2011-September/msg01326.html Option 2: 8 patches (4 still need upstream review), 1 RHEL-specific so that remaining 7 are conflict-free: http://post-office.corp.redhat.com/archives/rhvirt-patches/2011-October/msg00151.html (In reply to comment #8) > In POST: > Option 1: 2 patches, conflict resolution: > https://www.redhat.com/archives/libvir-list/2011-September/msg01326.html > > Option 2: 8 patches (4 still need upstream review), 1 RHEL-specific so that > remaining 7 are conflict-free: > http://post-office.corp.redhat.com/archives/rhvirt-patches/2011-October/msg00151.html libvirt-0.9.4-15.el6 went with option 1, since option 2 still hadn't received upstream ACK in time. The typo fixes mentioned in comment 7 are now independently fixed as a followup to bug 735457 This issue has been resolved on rhel6 beta(2.6.32-193.el6.x86_64) with libvirt-0.9.4-16.el6.x86_64, so move the bug to VERIFIED status. The following are actual results: # virsh snapshot-list demo Name Creation Time State ------------------------------------------------------------ hello 2011-10-08 14:44:55 +0800 shutoff # virsh snapshot-parent demo hello error: snapshot 'hello' has no parent Notes, this is a expected result. # echo $? 1 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. http://rhn.redhat.com/errata/RHBA-2011-1513.html |