XenAPI: Cirros images must always boot as PV.

The default for VHD disk-types is PV, which is why booting from a
server works.  However, creating a volume from the image needs to
pass this parameter on to the volume.  Note that
Id673158442fde27e8d468ca412c9bd557a886e6b is also required to fix
bug 1294069

Change-Id: I7ea1d85d6082787ac4551f78300a04bf59074261
Partial-Bug: 1294069
This commit is contained in:
Bob Ball 2014-03-19 11:08:54 +00:00
parent 871b1e4709
commit f1a2dbffe8

View File

@ -199,7 +199,21 @@ function upload_image {
# and should not be decompressed prior to loading
if [[ "$image_url" =~ '.vhd.tgz' ]]; then
IMAGE_NAME="${IMAGE_FNAME%.vhd.tgz}"
glance --os-auth-token $token --os-image-url http://$GLANCE_HOSTPORT image-create --name "$IMAGE_NAME" --is-public=True --container-format=ovf --disk-format=vhd < "${IMAGE}"
FORCE_VM_MODE=""
if [[ "$IMAGE_NAME" =~ 'cirros' ]]; then
# Cirros VHD image currently only boots in PV mode.
# Nova defaults to PV for all VHD images, but
# the glance setting is needed for booting
# directly from volume.
FORCE_VM_MODE="--property vm_mode=xen"
fi
glance \
--os-auth-token $token \
--os-image-url http://$GLANCE_HOSTPORT \
image-create \
--name "$IMAGE_NAME" --is-public=True \
--container-format=ovf --disk-format=vhd \
$FORCE_VM_MODE < "${IMAGE}"
return
fi