diff options
| author | Chris Behrens <cbehrens@codestud.com> | 2013-01-11 21:47:12 +0000 |
|---|---|---|
| committer | Chris Behrens <cbehrens@codestud.com> | 2013-01-12 01:00:45 +0000 |
| commit | bc7dc55692fd8bd09d15779915e23bd89cbd6ba6 (patch) | |
| tree | b481c75f5542d78b0902362c92ca46e78eec7d85 /nova/compute | |
| parent | 741166904eb64aca4d82a146d3153eeade072b3e (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.py | 14 |
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") |
