summaryrefslogtreecommitdiffstats
path: root/nova/compute
diff options
context:
space:
mode:
authorChris Behrens <cbehrens@codestud.com>2013-01-11 21:47:12 +0000
committerChris Behrens <cbehrens@codestud.com>2013-01-12 01:00:45 +0000
commitbc7dc55692fd8bd09d15779915e23bd89cbd6ba6 (patch)
treeb481c75f5542d78b0902362c92ca46e78eec7d85 /nova/compute
parent741166904eb64aca4d82a146d3153eeade072b3e (diff)
Make sure reboot_instance uses updated instance
compute manager's reboot_instance() was doing a check on a stale version of instance['power_state'] as well as passing stale instance data to the driver and notification calls. Fixes bug 1098727 Change-Id: I59f12f09d6e8a364e65f53912c09132a249c88c0
Diffstat (limited to 'nova/compute')
-rw-r--r--nova/compute/manager.py14
1 files changed, 7 insertions, 7 deletions
diff --git a/nova/compute/manager.py b/nova/compute/manager.py
index f138a3708..819ec25ab 100644
--- a/nova/compute/manager.py
+++ b/nova/compute/manager.py
@@ -1486,9 +1486,9 @@ class ComputeManager(manager.SchedulerDependentManager):
self._notify_about_instance_usage(context, instance, "reboot.start")
current_power_state = self._get_power_state(context, instance)
- self._instance_update(context, instance['uuid'],
- power_state=current_power_state,
- vm_state=vm_states.ACTIVE)
+ instance = self._instance_update(context, instance['uuid'],
+ power_state=current_power_state,
+ vm_state=vm_states.ACTIVE)
if instance['power_state'] != power_state.RUNNING:
state = instance['power_state']
@@ -1509,10 +1509,10 @@ class ComputeManager(manager.SchedulerDependentManager):
# Fall through and reset task_state to None
current_power_state = self._get_power_state(context, instance)
- self._instance_update(context, instance['uuid'],
- power_state=current_power_state,
- vm_state=vm_states.ACTIVE,
- task_state=None)
+ instance = self._instance_update(context, instance['uuid'],
+ power_state=current_power_state,
+ vm_state=vm_states.ACTIVE,
+ task_state=None)
self._notify_about_instance_usage(context, instance, "reboot.end")