Revert "Drop vhdutil dependency, use qemu-img"

This reverts commit a3e9e7f89e.

We still have some issues with vhd creation on RAX

In short, it appears that images fail to resize unless they have a
specific "creator" field.  Revert this while we consider the options.

[1] https://bugs.launchpad.net/nova/+bug/862653

Change-Id: I2b6a3bfbfe28432fbb6a2ce4a0211939d224b8d5
This commit is contained in:
Ian Wienand 2019-10-30 09:27:18 +11:00
parent 371669c981
commit b52b560fb0
3 changed files with 12 additions and 9 deletions

View File

@ -100,6 +100,10 @@ function show_options () {
echo
echo "NOTE: At least one distribution root element must be specified."
echo
echo "NOTE: If using the VHD output format you need to have a patched version of vhd-util installed for the image"
echo " to be bootable. The patch is available here: https://github.com/emonty/vhd-util/blob/master/debian/patches/citrix"
echo " and a PPA with the patched tool is available here: https://launchpad.net/~openstack-ci-core/+archive/ubuntu/vhd-util"
echo
echo "Examples:"
if [ "$IS_RAMDISK" == "0" ]; then
echo " ${SCRIPTNAME} -a amd64 -o ubuntu-amd64 vm ubuntu"
@ -265,8 +269,8 @@ for X in ${!IMAGE_TYPES[@]}; do
IMAGE_TYPES+=('tar')
;;
vhd)
if ! type qemu-img > /dev/null 2>&1; then
echo "vhd output format specified but no qemu-img executable found."
if ! type vhd-util > /dev/null 2>&1; then
echo "vhd output format specified but no vhd-util executable found."
exit 1
fi
;;

View File

@ -147,7 +147,12 @@ function compress_and_save_image () {
$DIB_GZIP_BIN -9 < $IMAGE_NAME.tar > $1-new
rm $IMAGE_NAME.tar
elif [ "$IMAGE_TYPE" == "vhd" ]; then
qemu-img convert $TMP_IMAGE_PATH -O vpc -o subformat=dynamic $1-new
cp $TMP_IMAGE_PATH $1-intermediate
vhd-util convert -s 0 -t 1 -i $1-intermediate -o $1-intermediate
vhd-util convert -s 1 -t 2 -i $1-intermediate -o $1-new
# The previous command creates a .bak file
rm $1-intermediate.bak
OUT_IMAGE_PATH=$1-new
else
echo "Converting image using qemu-img convert"
qemu-img convert ${COMPRESS_IMAGE:+-c} -f raw -O $IMAGE_TYPE $EXTRA_OPTIONS $TMP_IMAGE_PATH $1-new

View File

@ -1,6 +0,0 @@
---
upgrade:
- |
Generation of VHD (VPC/Microsoft Virtual PC/Rackspace) images is
now done via qemu-img, rather than the externally patched
``vhdutil`` package which is no longer maintained.