summaryrefslogtreecommitdiffstats
path: root/nova/virt
diff options
context:
space:
mode:
authorRick Harris <rconradharris@gmail.com>2012-11-06 19:09:06 +0000
committerRick Harris <rconradharris@gmail.com>2012-11-12 16:21:45 -0600
commit9f59d4af0dd06f8a70e2a647c5932472e0bf0f3a (patch)
treeed9477cffec3e208f8abb971fc35400bb9717f41 /nova/virt
parent24e86f40f7230544666ef99650353da76a1b9297 (diff)
Use base image for rescue instance.
Rescue mode was using the instance's current image when building the rescue VM. This is a problem because that image may be broken, hence the need for the rescue operation. Rescue should use the 'base' image instead. Fixes bug 1075701 Change-Id: Ie3e65cc75c4710f7b6391d5111cb096755e600d4
Diffstat (limited to 'nova/virt')
-rw-r--r--nova/virt/xenapi/vmops.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/nova/virt/xenapi/vmops.py b/nova/virt/xenapi/vmops.py
index 0cef398ed..2c5d12a38 100644
--- a/nova/virt/xenapi/vmops.py
+++ b/nova/virt/xenapi/vmops.py
@@ -238,10 +238,10 @@ class VMOps(object):
False, False)
def _create_disks(self, context, instance, name_label, disk_image_type,
- block_device_info=None):
+ image_meta, block_device_info=None):
vdis = vm_utils.get_vdis_for_instance(context, self._session,
instance, name_label,
- instance['image_ref'],
+ image_meta['id'],
disk_image_type,
block_device_info=block_device_info)
# Just get the VDI ref once
@@ -269,9 +269,10 @@ class VMOps(object):
return vm_utils.determine_disk_image_type(image_meta)
@step
- def create_disks_step(undo_mgr, disk_image_type):
+ def create_disks_step(undo_mgr, disk_image_type, image_meta):
vdis = self._create_disks(context, instance, name_label,
- disk_image_type, block_device_info)
+ disk_image_type, image_meta,
+ block_device_info)
def undo_create_disks():
vdi_refs = [vdi['ref'] for vdi in vdis.values()
@@ -387,7 +388,7 @@ class VMOps(object):
bdev_set_default_root(undo_mgr)
disk_image_type = determine_disk_image_type_step(undo_mgr)
- vdis = create_disks_step(undo_mgr, disk_image_type)
+ vdis = create_disks_step(undo_mgr, disk_image_type, image_meta)
kernel_file, ramdisk_file = create_kernel_ramdisk_step(undo_mgr)
vm_ref = create_vm_record_step(undo_mgr, vdis, disk_image_type,
kernel_file, ramdisk_file)