diff options
| author | Alex Meade <alex.meade@rackspace.com> | 2011-11-23 11:43:30 -0500 |
|---|---|---|
| committer | Alex Meade <alex.meade@rackspace.com> | 2011-11-29 10:47:38 -0500 |
| commit | da003c175a8211d6070fa9b171e67c4cf012e9cc (patch) | |
| tree | cb371bb24e29a2eb9c5ee52935aae1ae640ded43 /nova/compute | |
| parent | e2a5955e7e979ccd039fb77df8b6e7814cdc1aa1 (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.py | 6 | ||||
| -rw-r--r-- | nova/compute/manager.py | 16 |
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) |
