summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Still <mikal@stillhq.com>2012-07-29 15:28:37 +1000
committerMichael Still <mikal@stillhq.com>2012-07-30 12:20:15 +1000
commit83ef4e36222d185b652a9b913eeb92c2bb96b70c (patch)
tree0f50c471f260471ffe592a9cfcb7b05ed59ea05b
parent05d16b81bb05788dbbf1c2d2557594a652aeb7f2 (diff)
Instance cleanups from detach_volumes.
We can just use members of the instance dictionary without turning them into local variables, as we don't need to populate instance_uuid manually, as that is done by the @checks_instance_lock decorator. Change-Id: I2046d5688c2f5122624dc338680b7ddd850ed330
-rw-r--r--nova/compute/manager.py14
1 files changed, 6 insertions, 8 deletions
diff --git a/nova/compute/manager.py b/nova/compute/manager.py
index f41b20a97..bd31168c9 100644
--- a/nova/compute/manager.py
+++ b/nova/compute/manager.py
@@ -2009,19 +2009,17 @@ class ComputeManager(manager.SchedulerDependentManager):
def _detach_volume(self, context, instance, bdm):
"""Do the actual driver detach using block device mapping."""
- instance_name = instance['name']
- instance_uuid = instance['uuid']
mp = bdm['device_name']
volume_id = bdm['volume_id']
LOG.audit(_('Detach volume %(volume_id)s from mountpoint %(mp)s'),
locals(), context=context, instance=instance)
- if instance_name not in self.driver.list_instances():
+ if instance['name'] not in self.driver.list_instances():
LOG.warn(_('Detaching volume from unknown instance'),
context=context, instance=instance)
self.driver.detach_volume(jsonutils.loads(bdm['connection_info']),
- instance_name,
+ instance['name'],
mp)
@exception.wrap_exception(notifier=notifier, publisher_id=publisher_id())
@@ -2032,16 +2030,16 @@ class ComputeManager(manager.SchedulerDependentManager):
"""Detach a volume from an instance."""
if not instance:
instance = self.db.instance_get_by_uuid(context, instance_uuid)
- else:
- instance_uuid = instance['uuid']
- bdm = self._get_instance_volume_bdm(context, instance_uuid, volume_id)
+
+ bdm = self._get_instance_volume_bdm(context, instance['uuid'],
+ volume_id)
self._detach_volume(context, instance, bdm)
volume = self.volume_api.get(context, volume_id)
connector = self.driver.get_volume_connector(instance)
self.volume_api.terminate_connection(context, volume, connector)
self.volume_api.detach(context.elevated(), volume)
self.db.block_device_mapping_destroy_by_instance_and_volume(
- context, instance_uuid, volume_id)
+ context, instance['uuid'], volume_id)
@exception.wrap_exception(notifier=notifier, publisher_id=publisher_id())
def remove_volume_connection(self, context, instance_id, volume_id):