From bc7dc55692fd8bd09d15779915e23bd89cbd6ba6 Mon Sep 17 00:00:00 2001 From: Chris Behrens Date: Fri, 11 Jan 2013 21:47:12 +0000 Subject: 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 --- nova/compute/manager.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'nova/compute') 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") -- cgit