diff options
| author | Soren Hansen <soren.hansen@rackspace.com> | 2010-09-10 15:02:07 +0200 |
|---|---|---|
| committer | Soren Hansen <soren.hansen@rackspace.com> | 2010-09-10 15:02:07 +0200 |
| commit | d64adee4656a3044258c7dbfff93f5201c39560c (patch) | |
| tree | 26b1419d5fd8c8f98a55de70461dbe342b133fab /nova/virt | |
| parent | c3dd0aa79d982d8f34172e6023d4b632ea23f2b9 (diff) | |
| parent | 33d832ee798bc9530be577e3234ff8bcdac4939e (diff) | |
Merge with orm_deux (fixing up style changes in my stuff at the same time).
Diffstat (limited to 'nova/virt')
| -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 7bf2a68b1..6f708bb80 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 |
