diff options
| author | Rick Harris <rconradharris@gmail.com> | 2012-11-06 19:09:06 +0000 |
|---|---|---|
| committer | Rick Harris <rconradharris@gmail.com> | 2012-11-12 16:21:45 -0600 |
| commit | 9f59d4af0dd06f8a70e2a647c5932472e0bf0f3a (patch) | |
| tree | ed9477cffec3e208f8abb971fc35400bb9717f41 /nova/virt | |
| parent | 24e86f40f7230544666ef99650353da76a1b9297 (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.py | 11 |
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) |
