From: Cole Robinson Date: Fri, 4 Jul 2014 17:37:42 -0400 Subject: [PATCH virt-manager] connection: Report error if things fall over during connection bring up (cherry picked from commit e12d7a6a8c21f0d8e0331fa06f53523258bdfaae) Conflicts: virtManager/connection.py --- virtManager/connection.py | 37 +++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/virtManager/connection.py b/virtManager/connection.py index ffc2f27..1d067fd 100644 --- a/virtManager/connection.py +++ b/virtManager/connection.py @@ -1103,22 +1103,27 @@ class vmmConnection(vmmGObject): def _open_notify(self): logging.debug("Notifying open result") - self.idle_emit("state-changed") - - if self.state == self.STATE_ACTIVE: - logging.debug("libvirt version=%s", - self._backend.local_libvirt_version()) - logging.debug("daemon version=%s", - self._backend.daemon_version()) - logging.debug("conn version=%s", self._backend.conn_version()) - logging.debug("%s capabilities:\n%s", - self.get_uri(), self.caps.xml) - self._add_conn_events() - self.schedule_priority_tick(stats_update=True, - pollvm=True, pollnet=True, - pollpool=True, polliface=True, - pollnodedev=True, pollmedia=True, - force=True) + try: + self.idle_emit("state-changed") + + if self.state == self.STATE_ACTIVE: + logging.debug("libvirt version=%s", + self._backend.local_libvirt_version()) + logging.debug("daemon version=%s", + self._backend.daemon_version()) + logging.debug("conn version=%s", self._backend.conn_version()) + logging.debug("%s capabilities:\n%s", + self.get_uri(), self.caps.xml) + self._add_conn_events() + self.schedule_priority_tick(stats_update=True, + pollvm=True, pollnet=True, + pollpool=True, polliface=True, + pollnodedev=True, pollmedia=True, + force=True) + except Exception, e: + self.close() + self.connectError = (str(e), + "".join(traceback.format_exc()), False) if self.state == self.STATE_DISCONNECTED: if self.connectError: