When the status monitoring interval is longer than 30sec, graphical console is not updated. To solve this issue, I add two singnal handler. + "action-refresh-console": (gobject.SIGNAL_RUN_FIRST, + gobject.TYPE_NONE, (str,str)), + "action-refresh-terminal": (gobject.SIGNAL_RUN_FIRST, + gobject.TYPE_NONE, (str,str)), Thanks Signed-off-by: Hiroyuki Kaguchi <fj7025cf@xxxxxxxxxxxxxxxxx>
diff -r f4107609ab7d src/virtManager/engine.py --- a/src/virtManager/engine.py Wed Mar 12 15:34:41 2008 -0400 +++ b/src/virtManager/engine.py Thu Mar 13 15:37:31 2008 +0900 @@ -185,6 +185,10 @@ class vmmEngine(gobject.GObject): self.show_console(uri, uuid) def _do_show_terminal(self, src, uri, uuid): self.show_serial_console(uri, uuid) + def _do_refresh_console(self, src, uri, uuid): + self.refresh_console(uri, uuid) + def _do_refresh_terminal(self, src, uri, uuid): + self.refresh_serial_console(uri, uuid) def _do_save_domain(self, src, uri, uuid): self.save_domain(src, uri, uuid) def _do_destroy_domain(self, src, uri, uuid): @@ -257,6 +261,30 @@ class vmmEngine(gobject.GObject): con.get_vm(uuid)) self.connections[uri]["windowSerialConsole"][uuid] = console self.connections[uri]["windowSerialConsole"][uuid].show() + + def refresh_console(self, uri, uuid): + con = self.get_connection(uri) + + if not(self.connections[uri]["windowConsole"].has_key(uuid)): + return + + console = self.connections[uri]["windowConsole"][uuid] + if not(console.is_visible()): + return + + console.show() + + def refresh_serial_console(self, uri, uuid): + con = self.get_connection(uri) + + if not(self.connections[uri]["windowSerialConsole"].has_key(uuid)): + return + + console = self.connections[uri]["windowSerialConsole"][uuid] + if not(console.is_visible()): + return + + console.show() def show_details_performance(self, uri, uuid): win = self.show_details(uri, uuid) @@ -302,6 +330,8 @@ class vmmEngine(gobject.GObject): self.windowManager.connect("action-show-host", self._do_show_host) self.windowManager.connect("action-show-connect", self._do_show_connect) self.windowManager.connect("action-connect", self._do_connect) + self.windowManager.connect("action-refresh-console", self._do_refresh_console) + self.windowManager.connect("action-refresh-terminal", self._do_refresh_terminal) return self.windowManager def show_manager(self): diff -r f4107609ab7d src/virtManager/manager.py --- a/src/virtManager/manager.py Wed Mar 12 15:34:41 2008 -0400 +++ b/src/virtManager/manager.py Thu Mar 13 15:37:31 2008 +0900 @@ -70,6 +70,10 @@ class vmmManager(gobject.GObject): gobject.TYPE_NONE, (str,str)), "action-show-terminal": (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, (str,str)), + "action-refresh-console": (gobject.SIGNAL_RUN_FIRST, + gobject.TYPE_NONE, (str,str)), + "action-refresh-terminal": (gobject.SIGNAL_RUN_FIRST, + gobject.TYPE_NONE, (str,str)), "action-show-details": (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, (str,str)), "action-show-about": (gobject.SIGNAL_RUN_FIRST, @@ -403,6 +407,9 @@ class vmmManager(gobject.GObject): self.emit("action-show-console", uri, vmuuid) elif not connect.is_remote(): self.emit("action-show-terminal", uri, vmuuid) + else: + self.emit("action-refresh-console", uri, vmuuid) + self.emit("action-refresh-terminal", uri, vmuuid) def _append_vm(self, model, vm, conn): logging.debug("About to append vm: %s" % vm.get_name())
_______________________________________________ et-mgmt-tools mailing list et-mgmt-tools@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/et-mgmt-tools