From 24746d90afda76a43a04d5fead577f1fdd401444 Mon Sep 17 00:00:00 2001 From: Mate Lakat Date: Mon, 29 Oct 2012 13:04:07 +0000 Subject: refactor: extract method vm_ref_or_raise Related to bp xenapi-volume-drivers Imporve the code by extract method, and testing. Change-Id: I8caca173266890bd99a360671e7af86759b89201 --- nova/virt/xenapi/vm_utils.py | 7 +++++++ nova/virt/xenapi/volumeops.py | 14 ++++++-------- 2 files changed, 13 insertions(+), 8 deletions(-) (limited to 'nova/virt') diff --git a/nova/virt/xenapi/vm_utils.py b/nova/virt/xenapi/vm_utils.py index b08dd1387..4879a857d 100644 --- a/nova/virt/xenapi/vm_utils.py +++ b/nova/virt/xenapi/vm_utils.py @@ -2221,3 +2221,10 @@ def move_disks(session, instance, disk_info): root_vdi_ref = session.call_xenapi('VDI.get_by_uuid', root_uuid) return {'uuid': root_uuid, 'ref': root_vdi_ref} + + +def vm_ref_or_raise(session, instance_name): + vm_ref = lookup(session, instance_name) + if vm_ref is None: + raise exception.InstanceNotFound(instance_id=instance_name) + return vm_ref diff --git a/nova/virt/xenapi/volumeops.py b/nova/virt/xenapi/volumeops.py index 16da85b9d..c44e38f92 100644 --- a/nova/virt/xenapi/volumeops.py +++ b/nova/virt/xenapi/volumeops.py @@ -107,10 +107,9 @@ class VolumeOps(object): def attach_volume(self, connection_info, instance_name, mountpoint): """Attach volume storage to VM instance""" - # Before we start, check that the VM exists - vm_ref = vm_utils.lookup(self._session, instance_name) - if vm_ref is None: - raise exception.InstanceNotFound(instance_id=instance_name) + + vm_ref = vm_utils.vm_ref_or_raise(self._session, instance_name) + # NOTE: No Resource Pool concept so far LOG.debug(_("Attach_volume: %(connection_info)s, %(instance_name)s," " %(mountpoint)s") % locals()) @@ -196,10 +195,9 @@ class VolumeOps(object): def detach_volume(self, connection_info, instance_name, mountpoint): """Detach volume storage to VM instance""" - # Before we start, check that the VM exists - vm_ref = vm_utils.lookup(self._session, instance_name) - if vm_ref is None: - raise exception.InstanceNotFound(instance_id=instance_name) + + vm_ref = vm_utils.vm_ref_or_raise(self._session, instance_name) + # Detach VBD from VM LOG.debug(_("Detach_volume: %(instance_name)s, %(mountpoint)s") % locals()) -- cgit