diff options
| author | Vishvananda Ishaya <vishvananda@yahoo.com> | 2010-09-08 01:01:35 -0700 |
|---|---|---|
| committer | Vishvananda Ishaya <vishvananda@yahoo.com> | 2010-09-08 01:01:35 -0700 |
| commit | 9cb96a14ed6328732ee0dbee08ad9fed5bde43d6 (patch) | |
| tree | c52bc39df7978a1f1284a8ecc660251be15f6493 | |
| parent | 7b88b732505c27217a9e2cd823b5641ac730619e (diff) | |
| parent | 08f3d9b52b3a759b64a15433e920b1a6db217288 (diff) | |
merged orm
| -rw-r--r-- | nova/virt/libvirt_conn.py | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/nova/virt/libvirt_conn.py b/nova/virt/libvirt_conn.py index e26030158..febb0ce9b 100644 --- a/nova/virt/libvirt_conn.py +++ b/nova/virt/libvirt_conn.py @@ -139,12 +139,16 @@ class LibvirtConnection(object): timer = task.LoopingCall(f=None) def _wait_for_shutdown(): try: - instance.set_state(self.get_info(instance['name'])['state']) + db.instance_set_state(None, + instance['id'], + self.get_info(instance['name'])['state']) if instance.state == power_state.SHUTDOWN: timer.stop() d.callback(None) except Exception: - instance.set_state(power_state.SHUTDOWN) + db.instance_set_state(None, + instance['id'], + power_state.SHUTDOWN) timer.stop() d.callback(None) timer.f = _wait_for_shutdown @@ -186,14 +190,18 @@ class LibvirtConnection(object): timer = task.LoopingCall(f=None) def _wait_for_reboot(): try: - instance.set_state(self.get_info(instance['name'])['state']) + db.instance_set_state(None, + instance['id'], + self.get_info(instance['name'])['state']) if instance.state == power_state.RUNNING: logging.debug('instance %s: rebooted', instance['name']) timer.stop() d.callback(None) except Exception, exn: logging.error('_wait_for_reboot failed: %s', exn) - instance.set_state(power_state.SHUTDOWN) + db.instance_set_state(None, + instance['id'], + power_state.SHUTDOWN) timer.stop() d.callback(None) timer.f = _wait_for_reboot @@ -204,7 +212,10 @@ class LibvirtConnection(object): @exception.wrap_exception def spawn(self, instance): xml = self.to_xml(instance) - instance.set_state(power_state.NOSTATE, 'launching') + db.instance_set_state(None, + instance['id'], + power_state.NOSTATE, + 'launching') yield self._create_image(instance, xml) yield self._conn.createXML(xml, 0) # TODO(termie): this should actually register @@ -215,7 +226,9 @@ class LibvirtConnection(object): timer = task.LoopingCall(f=None) def _wait_for_boot(): try: - instance.set_state(self.get_info(instance['name'])['state']) + db.instance_set_state(None, + instance['id'], + self.get_info(instance['name'])['state']) if instance.state == power_state.RUNNING: logging.debug('instance %s: booted', instance['name']) timer.stop() @@ -223,7 +236,9 @@ class LibvirtConnection(object): except: logging.exception('instance %s: failed to boot', instance['name']) - instance.set_state(power_state.SHUTDOWN) + db.instance_set_state(None, + instance['id'], + power_state.SHUTDOWN) timer.stop() local_d.callback(None) timer.f = _wait_for_boot |
