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 <[EMAIL PROTECTED]>
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
[email protected]
https://www.redhat.com/mailman/listinfo/et-mgmt-tools