]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commit
Add check for qemu-img to image_utils fetch_to_raw
authorJay S. Bryant <jsbryant@us.ibm.com>
Mon, 12 Aug 2013 17:55:48 +0000 (12:55 -0500)
committerJay S. Bryant <jsbryant@us.ibm.com>
Tue, 10 Sep 2013 19:04:46 +0000 (14:04 -0500)
commit870e984274d9e8d452e7aa383b289955b6896f28
treed90cd9f069b0d821fe10fbaa4cbf2977dfca78e3
parent78544f80fac264cfc249962d7439e7a612db887a
Add check for qemu-img to image_utils fetch_to_raw

Some platforms, particularly PowerPC systems running RHEL,
do not have qemu-img installed by default and do not
support image formats other than RAW.  For these systems,
functions/drivers that use fetch_to_raw() currently fail
because it is assumed that qemu-img will always be installed.

This change updates fetch_to_raw() to function more like the
upload_volume() function which checks the image format and skips
any conversion if the image is already in the RAW format. To
minimize the impact upon platforms that have qemu-img installed
this is being implemented by checking to see if qemu-img is
installed.  If it is installed, no changes are made to the flow
through fetch_to_raw.  If qemu-img is not available and the image
format is not already RAW, an exception is thrown.  Otherwise,
the image is downloaded and we do not progress to the portions of
fetch_to_raw that require qemu-img to be installed.

This commit also updates the test cases that touch this code.

Closes-bug: 1200800

Change-Id: I34540dfa238a8b8e61ff5c30c7e121130bad39b4
cinder/image/image_utils.py
cinder/tests/test_image_utils.py