summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRick Harris <rconradharris@gmail.com>2012-03-21 23:53:43 +0000
committerRick Harris <rconradharris@gmail.com>2012-03-22 18:38:51 +0000
commit9c87d20cfdf84357fd1260e692634a3e5855804f (patch)
tree2ba9310713dedc8141c298a3e8b4fbc40fce756c
parent79807e11a1e066e79edd8460d9306824ce83b0e5 (diff)
downloadnova-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.py44
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)