virt-manager/virtman-vminstall.diff
Charles Arnold 304b81595d - bnc#718861 - [SLES11SP2beta5] virt-manager unable to boot
Windows2008 guest with virtio disk and network device (kvm)
- Update to virt-manager 0.9.0 
  * Use a hiding toolbar for fullscreen mode
  * Use libguestfs to show guest packagelist and more (Richard W.M. Jones)
  * Basic 'New VM' wizard support for LXC guests
  * Remote serial console access (with latest libvirt)
  * Remote URL guest installs (with latest libvirt)
  * Add Hardware: Support <filesystem> devices
  * Add Hardware: Support <smartcard> devices (Marc-André Lureau)
  * Enable direct interface selection for qemu/kvm (Gerhard Stenzel)
  * Allow viewing and changing disk serial number
- Update to virtinst 0.600.0
  * virt-install: Various improvements to enable LXC/container guests:
  * New --filesystem option for <filesystem> devices
  * New --init option for container <init> path
  * New --container option (similar to --paravirt or --hvm)
  * virt-install: Make --location remotely (with latest libvirt)
  * virt-install: New --smartcard option for <smartcard> devices
  * (Marc-André Lureau)
  * virt-install: New --numatune option for building guest <numatune> XML
  * virt-install: option to set --disk error_policy=
  * virt-install: option to set --disk serial=

OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=59
2011-09-20 15:08:57 +00:00

80 lines
3.6 KiB
Diff

Index: virt-manager-0.9.0/src/virtManager/engine.py
===================================================================
--- virt-manager-0.9.0.orig/src/virtManager/engine.py
+++ virt-manager-0.9.0/src/virtManager/engine.py
@@ -41,7 +41,6 @@ from virtManager.manager import vmmManag
from virtManager.migrate import vmmMigrateDialog
from virtManager.details import vmmDetails
from virtManager.asyncjob import vmmAsyncJob
-from virtManager.create import vmmCreate
from virtManager.host import vmmHost
from virtManager.error import vmmErrorDialog
from virtManager.systray import vmmSystray
@@ -818,11 +817,45 @@ class vmmEngine(vmmGObject):
self.windowCreate = obj
return self.windowCreate
+ def _vmmcreate_closing(self,signal,key):
+ self.windowCreate = None
+
def _do_show_create(self, src, uri):
- try:
- self._get_create_dialog().show(src.topwin, uri)
- except Exception, e:
- src.err.show_err(_("Error launching manager: %s") % str(e))
+ conn = self._lookup_connection(uri)
+ do_remote = conn.is_remote()
+ if self.windowCreate == None or do_remote != self.remote_install:
+ try:
+ if do_remote:
+ from virtManager.create import vmmCreate
+ create = vmmCreate(self)
+ create.connect("action-show-console", self._do_show_console)
+ create.connect("action-show-help", self._do_show_help)
+ create.connect("vmmcreate-closing", self._vmmcreate_closing)
+ self.remote_install = True
+ self.windowCreate = create
+ self.windowCreate.show(uri)
+ else:
+ from vminstall.gtk.interface import VMCreate as vmmCreate
+ create = vmmCreate(virtman=True,key=0)
+ create.connect("action-show-console", self._do_show_console)
+ create.connect("vmmcreate-closing", self._vmmcreate_closing)
+ self.remote_install = False
+ self.windowCreate = create
+ self.windowCreate.show()
+ except Exception, e:
+ src.err.show_err(_("Error launching manager: %s") % str(e),
+ "".join(traceback.format_exc()))
+ else:
+ if do_remote:
+ self.windowCreate.show(uri)
+ else:
+ message_box = gtk.MessageDialog(None,
+ gtk.DIALOG_MODAL,
+ gtk.MESSAGE_WARNING,
+ gtk.BUTTONS_OK,
+ _("A new installation is already in progress.\n\nUse the YaST \"Create Virtual Machines\" utility for concurrent installations."))
+ message_box.run()
+ message_box.destroy()
def _do_show_migrate(self, src, uri, uuid):
try:
Index: virt-manager-0.9.0/src/virtManager/create.py
===================================================================
--- virt-manager-0.9.0.orig/src/virtManager/create.py
+++ virt-manager-0.9.0/src/virtManager/create.py
@@ -154,6 +154,7 @@ class vmmCreate(vmmGObjectUI):
self.topwin.present()
def close(self, ignore1=None, ignore2=None):
+ self.emit('vmmcreate-closing', 0)
self.topwin.hide()
self.remove_timers()
@@ -2127,3 +2128,4 @@ class vmmCreate(vmmGObjectUI):
vmmGObjectUI.type_register(vmmCreate)
vmmCreate.signal_new(vmmCreate, "action-show-vm", [str, str])
vmmCreate.signal_new(vmmCreate, "action-show-help", [str])
+vmmCreate.signal_new(vmmCreate, "vmmcreate-closing", [str])