summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVishvananda Ishaya <vishvananda@yahoo.com>2010-09-09 08:55:09 -0700
committerVishvananda Ishaya <vishvananda@yahoo.com>2010-09-09 08:55:09 -0700
commit2cd0ac795a67bb7416df8c8a6fccccf78fc5e430 (patch)
treed7181688bfb4fcb114133bbbcc9e5f121c367d02
parent33d832ee798bc9530be577e3234ff8bcdac4939e (diff)
downloadnova-2cd0ac795a67bb7416df8c8a6fccccf78fc5e430.tar.gz
nova-2cd0ac795a67bb7416df8c8a6fccccf78fc5e430.tar.xz
nova-2cd0ac795a67bb7416df8c8a6fccccf78fc5e430.zip
fixed logic in set_state code to stop endless loops
-rw-r--r--nova/virt/libvirt_conn.py21
1 files changed, 9 insertions, 12 deletions
diff --git a/nova/virt/libvirt_conn.py b/nova/virt/libvirt_conn.py
index febb0ce9b..d868e083c 100644
--- a/nova/virt/libvirt_conn.py
+++ b/nova/virt/libvirt_conn.py
@@ -139,10 +139,9 @@ class LibvirtConnection(object):
timer = task.LoopingCall(f=None)
def _wait_for_shutdown():
try:
- db.instance_set_state(None,
- instance['id'],
- self.get_info(instance['name'])['state'])
- if instance.state == power_state.SHUTDOWN:
+ state = self.get_info(instance['name'])['state']
+ db.instance_set_state(None, instance['id'], state)
+ if state == power_state.SHUTDOWN:
timer.stop()
d.callback(None)
except Exception:
@@ -190,10 +189,9 @@ class LibvirtConnection(object):
timer = task.LoopingCall(f=None)
def _wait_for_reboot():
try:
- db.instance_set_state(None,
- instance['id'],
- self.get_info(instance['name'])['state'])
- if instance.state == power_state.RUNNING:
+ state = self.get_info(instance['name'])['state']
+ db.instance_set_state(None, instance['id'], state)
+ if state == power_state.RUNNING:
logging.debug('instance %s: rebooted', instance['name'])
timer.stop()
d.callback(None)
@@ -226,10 +224,9 @@ class LibvirtConnection(object):
timer = task.LoopingCall(f=None)
def _wait_for_boot():
try:
- db.instance_set_state(None,
- instance['id'],
- self.get_info(instance['name'])['state'])
- if instance.state == power_state.RUNNING:
+ state = self.get_info(instance['name'])['state']
+ db.instance_set_state(None, instance['id'], state)
+ if state == power_state.RUNNING:
logging.debug('instance %s: booted', instance['name'])
timer.stop()
local_d.callback(None)