diff options
| author | Vishvananda Ishaya <vishvananda@yahoo.com> | 2010-09-09 08:55:09 -0700 |
|---|---|---|
| committer | Vishvananda Ishaya <vishvananda@yahoo.com> | 2010-09-09 08:55:09 -0700 |
| commit | 2cd0ac795a67bb7416df8c8a6fccccf78fc5e430 (patch) | |
| tree | d7181688bfb4fcb114133bbbcc9e5f121c367d02 /nova | |
| parent | 33d832ee798bc9530be577e3234ff8bcdac4939e (diff) | |
| download | nova-2cd0ac795a67bb7416df8c8a6fccccf78fc5e430.tar.gz nova-2cd0ac795a67bb7416df8c8a6fccccf78fc5e430.tar.xz nova-2cd0ac795a67bb7416df8c8a6fccccf78fc5e430.zip | |
fixed logic in set_state code to stop endless loops
Diffstat (limited to 'nova')
| -rw-r--r-- | nova/virt/libvirt_conn.py | 21 |
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) |
