On 09/26/2012 07:47 PM, Marcus Sorensen wrote:
The problem with versions is that they're often wrong. For example,
with cent 6.3, qemu-img reports 0.12.1, but is based on 1.0 (I think).
It can resize qcow2, which only came in a later version.  Same with
its libvirtd, it reports 0.9.10, but includes virDomainBlockResize,
which should only be available as of 0.9.11


Yes, you are right.

But I think we can actually remove this whole check like David mentioned. Will notice it soon enough when the snapshot itself fails.

We have set minimum system requirements for 4.0, if people meet that it should work.

Wido

On Wed, Sep 26, 2012 at 8:46 AM, Wido den Hollander <w...@widodh.nl> wrote:
On 09/26/2012 04:40 PM, David Nalley wrote:

On Wed, Sep 26, 2012 at 9:55 AM, Prasanna Santhanam
<prasanna.santha...@citrix.com> wrote:

On Wed, Sep 26, 2012 at 08:23:31AM -0400, Sowmya Krishnan wrote:

Here's the output on Ubuntu:
qemu-img --help|grep convert |grep snapshot
    convert [-c] [-p] [-f fmt] [-t cache] [-O output_fmt] [-o options]
[-s snapshot_name] [-S sparse_size] filename [filename2 [...]]
output_filename

which is similar to RHEL6.2:
qemu-img --help|grep convert |grep snapshot
    convert [-c] [-p] [-f fmt] [-t cache] [-O output_fmt] [-o options]
[-s snapshot_name] [-S sparse_size] filename [filename2 [...]]
output_filename

Returns null on RHEL6.3:
[root@rhel63 ~]# qemu-img --help|grep convert |grep snapshot
[root@rhel63 ~]#



Thanks, Could you post a bug?

The issue seems to be in

plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java

4289     private boolean isSnapshotSupported() {
4290         String result = executeBashScript("qemu-img --help|grep -E
convert|snapshot");
4291         if (result != null) {
4292             return false;
4293         } else {
4294             return true;
4295         }
4296     }

The help text differs between ubuntu and rhel:
http://manpages.ubuntu.com/manpages/natty/man1/qemu-img.1.html


https://access.redhat.com/knowledge/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Administration_Guide/sect-Virtualization-Tips_and_tricks-Using_qemu_img.html

Should we depend on that?


We've set the requirements as EL6.3 or Ubuntu 12.04, or another distro
with a similarly recent version of qemu/libvirt/KVM - and parsing the
help output of a command run in a shell seems inelegant. Why not
default to assuming that it works and if it pukes to cleanly say it
isn't supported?


Seems logical to me. I was thinking the same about libvirt. With the
bindings we can ask which version the libvirtd daemon is and write a warning
in the logfile if it's to old.

We could do the same Qemu.

Wido


--David


Reply via email to