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
| ... | ... |
@@ -199,7 +199,21 @@ function upload_image {
|
| 199 | 199 |
# and should not be decompressed prior to loading |
| 200 | 200 |
if [[ "$image_url" =~ '.vhd.tgz' ]]; then |
| 201 | 201 |
IMAGE_NAME="${IMAGE_FNAME%.vhd.tgz}"
|
| 202 |
- 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}"
|
|
| 202 |
+ FORCE_VM_MODE="" |
|
| 203 |
+ if [[ "$IMAGE_NAME" =~ 'cirros' ]]; then |
|
| 204 |
+ # Cirros VHD image currently only boots in PV mode. |
|
| 205 |
+ # Nova defaults to PV for all VHD images, but |
|
| 206 |
+ # the glance setting is needed for booting |
|
| 207 |
+ # directly from volume. |
|
| 208 |
+ FORCE_VM_MODE="--property vm_mode=xen" |
|
| 209 |
+ fi |
|
| 210 |
+ glance \ |
|
| 211 |
+ --os-auth-token $token \ |
|
| 212 |
+ --os-image-url http://$GLANCE_HOSTPORT \ |
|
| 213 |
+ image-create \ |
|
| 214 |
+ --name "$IMAGE_NAME" --is-public=True \ |
|
| 215 |
+ --container-format=ovf --disk-format=vhd \ |
|
| 216 |
+ $FORCE_VM_MODE < "${IMAGE}"
|
|
| 203 | 217 |
return |
| 204 | 218 |
fi |
| 205 | 219 |
|