diff options
| author | Rick Harris <rconradharris@gmail.com> | 2012-03-21 23:53:43 +0000 |
|---|---|---|
| committer | Rick Harris <rconradharris@gmail.com> | 2012-03-22 18:38:51 +0000 |
| commit | 9c87d20cfdf84357fd1260e692634a3e5855804f (patch) | |
| tree | 2ba9310713dedc8141c298a3e8b4fbc40fce756c | |
| parent | 79807e11a1e066e79edd8460d9306824ce83b0e5 (diff) | |
| download | nova-9c87d20cfdf84357fd1260e692634a3e5855804f.tar.gz nova-9c87d20cfdf84357fd1260e692634a3e5855804f.tar.xz nova-9c87d20cfdf84357fd1260e692634a3e5855804f.zip | |
Inlining some single-use methods in XenAPI vmops.
Change-Id: I28247b6fe782f3a1007c6f47eb8e221cf885772f
| -rw-r--r-- | nova/virt/xenapi/vmops.py | 44 |
1 files changed, 16 insertions, 28 deletions
diff --git a/nova/virt/xenapi/vmops.py b/nova/virt/xenapi/vmops.py index bd83ebf95..324ec6ca4 100644 --- a/nova/virt/xenapi/vmops.py +++ b/nova/virt/xenapi/vmops.py @@ -1077,13 +1077,6 @@ class VMOps(object): return self._session.call_xenapi("VBD.get_record", vbd_ref)["VDI"] - def _shutdown_rescue(self, rescue_vm_ref): - """Shutdown a rescue instance.""" - vm_rec = self._session.call_xenapi("VM.get_record", rescue_vm_ref) - state = VMHelper.compile_info(vm_rec)['state'] - if state != power_state.SHUTDOWN: - self._session.call_xenapi("VM.hard_shutdown", rescue_vm_ref) - def _safe_destroy_vdis(self, vdi_refs): """Destroys the requested VDIs, logging any StorageError exceptions.""" for vdi_ref in vdi_refs: @@ -1092,23 +1085,6 @@ class VMOps(object): except volume_utils.StorageError as exc: LOG.error(exc) - def _destroy_vdis(self, instance, vm_ref): - """Destroys all VDIs associated with a VM.""" - instance_uuid = instance['uuid'] - LOG.debug(_("Destroying VDIs for Instance %(instance_uuid)s") - % locals()) - - vdi_refs = VMHelper.lookup_vm_vdis(self._session, vm_ref) - self._safe_destroy_vdis(vdi_refs) - - def _destroy_rescue_vdis(self, rescue_vm_ref, except_vdi_ref): - """Destroys all VDIs associated with a rescued VM.""" - vdi_refs = VMHelper.lookup_vm_vdis(self._session, rescue_vm_ref) - if except_vdi_ref: - vdi_refs = [vdi_ref for vdi_ref in vdi_refs - if vdi_ref != except_vdi_ref] - self._safe_destroy_vdis(vdi_refs) - def _destroy_kernel_ramdisk_plugin_call(self, kernel, ramdisk): args = {} if kernel: @@ -1161,10 +1137,19 @@ class VMOps(object): def _destroy_rescue_instance(self, rescue_vm_ref, original_vm_ref): """Destroy a rescue instance.""" - vdi_ref = self._find_root_vdi_ref(original_vm_ref) - self._shutdown_rescue(rescue_vm_ref) - self._destroy_rescue_vdis(rescue_vm_ref, vdi_ref) + # Shutdown Rescue VM + vm_rec = self._session.call_xenapi("VM.get_record", rescue_vm_ref) + state = VMHelper.compile_info(vm_rec)['state'] + if state != power_state.SHUTDOWN: + self._session.call_xenapi("VM.hard_shutdown", rescue_vm_ref) + # Destroy Rescue VDIs + vdi_refs = VMHelper.lookup_vm_vdis(self._session, rescue_vm_ref) + root_vdi_ref = self._find_root_vdi_ref(original_vm_ref) + vdi_refs = [vdi_ref for vdi_ref in vdi_refs if vdi_ref != root_vdi_ref] + self._safe_destroy_vdis(vdi_refs) + + # Destroy Rescue VM self._session.call_xenapi("VM.destroy", rescue_vm_ref) def destroy(self, instance, network_info): @@ -1203,7 +1188,10 @@ class VMOps(object): if shutdown: self._shutdown(instance, vm_ref) - self._destroy_vdis(instance, vm_ref) + # Destroy VDIs + vdi_refs = VMHelper.lookup_vm_vdis(self._session, vm_ref) + self._safe_destroy_vdis(vdi_refs) + if destroy_kernel_ramdisk: self._destroy_kernel_ramdisk(instance, vm_ref) |
