summaryrefslogtreecommitdiffstats
path: root/nova/compute
diff options
context:
space:
mode:
authorAlex Meade <alex.meade@rackspace.com>2011-11-23 11:43:30 -0500
committerAlex Meade <alex.meade@rackspace.com>2011-11-29 10:47:38 -0500
commitda003c175a8211d6070fa9b171e67c4cf012e9cc (patch)
treecb371bb24e29a2eb9c5ee52935aae1ae640ded43 /nova/compute
parente2a5955e7e979ccd039fb77df8b6e7814cdc1aa1 (diff)
power_on/power_off in compute manager to use uuids
Related to blueprint internal-uuids. Changes power_on and power_off of instances to use uuids. Also, fixes a test for get_actions to be more accurate. Later a migration will need to be written for instance_get_actions to use uuids instead of ids. Change-Id: Id0896f4bf3f0c64a77ac9c421bad702073f2fc50
Diffstat (limited to 'nova/compute')
-rw-r--r--nova/compute/api.py6
-rw-r--r--nova/compute/manager.py16
2 files changed, 10 insertions, 12 deletions
diff --git a/nova/compute/api.py b/nova/compute/api.py
index 32f329a04..9c6921d54 100644
--- a/nova/compute/api.py
+++ b/nova/compute/api.py
@@ -771,7 +771,6 @@ class API(base.Base):
@scheduler_api.reroute_compute("soft_delete")
def soft_delete(self, context, instance):
"""Terminate an instance."""
- instance_id = instance["id"]
instance_uuid = instance["uuid"]
LOG.debug(_("Going to try to soft delete %s"), instance_uuid)
@@ -790,7 +789,7 @@ class API(base.Base):
deleted_at=utils.utcnow())
self._cast_compute_message('power_off_instance', context,
- instance_id, host)
+ instance_uuid, host)
else:
LOG.warning(_("No host for instance %s, deleting immediately"),
instance["uuid"])
@@ -822,7 +821,6 @@ class API(base.Base):
@scheduler_api.reroute_compute("restore")
def restore(self, context, instance):
"""Restore a previously deleted (but not reclaimed) instance."""
- instance_id = instance['id']
if not _is_queued_delete(instance):
return
@@ -839,7 +837,7 @@ class API(base.Base):
instance,
task_state=task_states.POWERING_ON)
self._cast_compute_message('power_on_instance', context,
- instance_id, host)
+ instance['uuid'], host)
@scheduler_api.reroute_compute("force_delete")
def force_delete(self, context, instance):
diff --git a/nova/compute/manager.py b/nova/compute/manager.py
index 2eed738c1..1ca2b3d7e 100644
--- a/nova/compute/manager.py
+++ b/nova/compute/manager.py
@@ -625,26 +625,26 @@ class ComputeManager(manager.SchedulerDependentManager):
task_state=None)
@exception.wrap_exception(notifier=notifier, publisher_id=publisher_id())
- @checks_instance_lock
- def power_off_instance(self, context, instance_id):
+ @checks_instance_lock_uuid
+ def power_off_instance(self, context, instance_uuid):
"""Power off an instance on this host."""
- instance = self.db.instance_get(context, instance_id)
+ instance = self.db.instance_get_by_uuid(context, instance_uuid)
self.driver.power_off(instance)
current_power_state = self._get_power_state(context, instance)
self._instance_update(context,
- instance_id,
+ instance_uuid,
power_state=current_power_state,
task_state=None)
@exception.wrap_exception(notifier=notifier, publisher_id=publisher_id())
- @checks_instance_lock
- def power_on_instance(self, context, instance_id):
+ @checks_instance_lock_uuid
+ def power_on_instance(self, context, instance_uuid):
"""Power on an instance on this host."""
- instance = self.db.instance_get(context, instance_id)
+ instance = self.db.instance_get_by_uuid(context, instance_uuid)
self.driver.power_on(instance)
current_power_state = self._get_power_state(context, instance)
self._instance_update(context,
- instance_id,
+ instance_uuid,
power_state=current_power_state,
task_state=None)