cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Edison Su <Edison...@citrix.com>
Subject RE: 05bec59c - kvm, qcow, systemvm qemu-img -o compat
Date Tue, 02 Dec 2014 02:16:04 GMT
qemu-img |head -n 1|awk '{print $3}'
should show the version of qemu-img

From: williamstevens@gmail.com [mailto:williamstevens@gmail.com] On Behalf Of Will Stevens
Sent: Monday, December 01, 2014 2:17 PM
To: dev@cloudstack.apache.org
Cc: Leo Simons; Wilder Rodrigues; Rohit Yadav; Edison Su
Subject: Re: 05bec59c - kvm, qcow, systemvm qemu-img -o compat

Alright, so far I have found the following: https://github.com/qemu/qemu/commit/9117b47717ad208b12786ce88eacb013f9b3dd1c

Basically, if the qemu-img version is less than 1.7, we should run the non 'compat' option
version and if the version is 1.7 or greater, we should run the new command with the 'compat'
version.

Unfortunately I am not able to find a way to get the qemu-img version from the command line.

I am looking to basically add a conditional to try running with the compat option and if that
fails, then run it without the compat option.

Basically, I would be replacing this:

qemu-img convert -o compat=0.10 -f raw -c -O qcow2 raw.img "${appliance_build_name}-kvm.qcow2"

With this:

set +e
qemu-img convert -o compat=0.10 -f raw -c -O qcow2 raw.img "${appliance_build_name}-kvm.qcow2"
local qemuresult=$?
set -e
if [ ${qemuresult} != 0 ]; then
  log INFO "qemu-img convert failed, trying without compat option"
  qemu-img convert -f raw -c -O qcow2 raw.img "${appliance_build_name}-kvm.qcow2"
fi

What do you guys think?  Is this a good enough solution?  If you guys agree I will implement
it in master and make sure it works, then we can merge the change back to 4.5 to fix that
branch as well.

Let me know if you have issues with this approach...

Cheers,

Will


Will STEVENS
Lead Developer

CloudOps | Cloud Solutions Experts
420 rue Guy | Montreal | Quebec | H3J 1S6
w cloudops.com<http://cloudops.com/> | tw @CloudOps_

On Mon, Dec 1, 2014 at 4:06 PM, Will Stevens <wstevens@cloudops.com<mailto:wstevens@cloudops.com>>
wrote:
Edison,
According to this page the default compat option is 0.10: http://manpages.ubuntu.com/manpages/trusty/man1/qemu-img.1.html

Did you find that to not be the case and is that why you had to add the compat option?

BTW, in an attempt to get the master system vms building again, I committed a change to master
to remove the compat option.  We now have master system vms building correctly, but Rohit
rightly pointed out that I had basically reverted your change.

I created a Jira ticket for this issue: https://issues.apache.org/jira/browse/CLOUDSTACK-7959

I have not reverted my change in master at this point, so it is building right now, but I
also did not make the change to 4.5, so that branch is currently failing to build system vms.

I will see if I can track down in which version of qemu the compat option was added so we
can add some intelligent logic around this command.

Will




Will STEVENS
Lead Developer

CloudOps | Cloud Solutions Experts
420 rue Guy | Montreal | Quebec | H3J 1S6
w cloudops.com<http://cloudops.com/> | tw @CloudOps_

On Thu, Nov 20, 2014 at 1:07 PM, edison su <sudison@gmail.com<mailto:sudison@gmail.com>>
wrote:
Hi Leo,
Our new internal build system are using ubuntu 14.04 or something like
that, which has qemu 1.x installed by default, that's why I added the
"compat" option in the build script, otherwise, the image build by
qemu 1.x, won't work on RHEL 6.x.
The fix would be, in the build script, check the version of qemu-img,
if it's 0.x, then don't add "compat" option. There are a lot of people
still using RHEL 6.x as KVM hypervisor, we have to make sure the image
we build can still work on these machines.

On Thu, Nov 20, 2014 at 6:49 AM, Leo Simons <LSimons@schubergphilis.com<mailto:LSimons@schubergphilis.com>>
wrote:
> Hey Edison, all,
>
>   https://github.com/apache/cloudstack/commit/05bec59c1498dbcfb8a1089c86855fd3b433ea58
>
> breaks our internal build with
>
>     + qemu-img convert -o compat=0.10 -f raw -c -O qcow2 raw.img \
>       systemvmtemplate-systemvm-persistent-config-4.5.0.124-kvm.qcow2
>     Unknown option 'compat'
>     qemu-img: Invalid options for file format 'qcow2'.
>
> This is on CentOS release 6.6, which has qemu-img-0.15.0-1.el6.rfx.x86_64.
>
> Based on
>   http://secure-web.cisco.com/1F5zlT8tpWX5PfbJbuzUoso6OWYSnPdIEm5Ue6-gXqJ1a69oLY46nrS2BKoFjZFPlr0DmQwfZHdm2XjfkVhbuMFrET2ilAqQyrI76EYyuxNVnTHaRHH_4bMCtgrtgasDwW1zTJWKDQp8d-HuwyPYokzHAiPFGp7w1CyCabrBpkEw/http%3A%2F%2Fwiki.qemu.org%2FOlderNews
> that seems like it is a really old qemu (august 2011).
>
> I'm guessing you have a newer OS / newer qemu? Can you please let me know what OS, OS
version and qemu(-img) version you are using?
>
> Also, does anyone know if there some minimum version of qemu-img that should be used
/ cloudstack assumes? Is 0.15 still ok to do an acceptable image conversion with? (we currently
don't have any kvm use ourselves, but, I'd like for our build infra to produce useful kvm
images nonetheless).
>
> According to
>   http://secure-web.cisco.com/1pFLbDg2BMTb54NUG5_lYr4mAwFcn9tHP-Weq28Sj5SFqgRKker_DkUKLf6RdwVXHI66uQQNVvD74D6rs6Pc0srpLX0Ejh6nW6o9mBZ-AhQzygMrB_OfUQNLtsB-myd-CA0rJowOhs8ZTsIVr27mgJM4v6ay93D_64JLEBebrlnM/http%3A%2F%2Fwiki.qemu.org%2FChangeLog%2F1.1
> the -o compat switch was introduced in 1.1.
>
> According to
>   https://github.com/qemu/qemu/commit/9117b47717ad208b12786ce88eacb013f9b3dd1c
> the default format was changed from 0.10 to 1.1 in qemu 1.7 and onwards.
>
> The libvirt people
>   https://bugzilla.redhat.com/show_bug.cgi?id=997977
> say they pass -o compat when qemu supports it (so when v >= 1.1 I imagine).
>
> I think we should do the same in the build script and I'll make a patch.
>
> But, should we publish newer-format images too? According to
>   http://secure-web.cisco.com/193Tci801hAyVHNqtfHy56-aPW58HHhzwlnmfvPZQnrbtHxURQC0m3kDHxk-PlYYLhCZX0f768ZYK2fV1WbMFpQPz5JfmFt0S8cuzCSrykjOEx9isfBwORZu6I4XdU3jo-WdJcDgtoH-KOwKcGRX5TGZrVva_BDOYDQzF-7QAg8w/http%3A%2F%2Fwiki.qemu.org%2FFeatures%2FQcow3
> the new format is much better so I imagine qcow/kvm users will really appreciate the
newer formats.
>
> Thoughts?
>
>
> cheers,
>
>
> Leo
>


--
Best Regards,
Edison


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message