4b536f00b9
UI (bz 583728) Fix broken icons Cancel post-install reboot if VM is forced off Fix traceback if customizing a livecd install (bz 583712) Add pool refresh button Properly autodetect VNC keymap (bz 586201) Fix traceback when reconnecting to remote VNC console (bz 588254) Fix remote VNC connection with zsh as default shell
76 lines
2.9 KiB
Diff
76 lines
2.9 KiB
Diff
diff -rup virt-manager-0.8.4/src/virtManager/create.py new/src/virtManager/create.py
|
|
--- virt-manager-0.8.4/src/virtManager/create.py 2010-05-27 15:46:28.064880000 -0400
|
|
+++ new/src/virtManager/create.py 2010-05-27 15:47:11.751259000 -0400
|
|
@@ -1603,10 +1603,16 @@ class vmmCreate(gobject.GObject):
|
|
# out handler, removing the virtinst_guest which
|
|
# will force one final restart.
|
|
virtinst_guest.continue_install()
|
|
+
|
|
util.connect_opt_out(vm, "status-changed",
|
|
self.check_install_status, None)
|
|
return True
|
|
|
|
+ if vm.get_install_abort():
|
|
+ logging.debug("User manually shutdown VM, not restarting "
|
|
+ "guest after install.")
|
|
+ return True
|
|
+
|
|
logging.debug("Install should be completed, starting VM.")
|
|
vm.startup()
|
|
except Exception, e:
|
|
diff -rup virt-manager-0.8.4/src/virtManager/domain.py new/src/virtManager/domain.py
|
|
--- virt-manager-0.8.4/src/virtManager/domain.py 2010-05-27 15:46:28.008912000 -0400
|
|
+++ new/src/virtManager/domain.py 2010-05-27 15:47:48.539183000 -0400
|
|
@@ -75,6 +75,7 @@ class vmmDomainBase(vmmLibvirtObject):
|
|
self._backend = backend
|
|
self.uuid = uuid
|
|
|
|
+ self._install_abort = False
|
|
self._startup_vcpus = None
|
|
|
|
self._network_traffic = None
|
|
@@ -120,6 +121,13 @@ class vmmDomainBase(vmmLibvirtObject):
|
|
def get_autostart(self):
|
|
raise NotImplementedError()
|
|
|
|
+ # If manual shutdown or destroy specified, make sure we don't continue
|
|
+ # install process
|
|
+ def set_install_abort(self, val):
|
|
+ self._install_abort = bool(val)
|
|
+ def get_install_abort(self):
|
|
+ return bool(self._install_abort)
|
|
+
|
|
# Device/XML altering API
|
|
def set_autostart(self, val):
|
|
raise NotImplementedError()
|
|
@@ -1274,11 +1282,13 @@ class vmmDomain(vmmDomainBase):
|
|
reboot_listener, self)
|
|
|
|
def shutdown(self):
|
|
+ self.set_install_abort(True)
|
|
self._unregister_reboot_listener()
|
|
self._backend.shutdown()
|
|
self._update_status()
|
|
|
|
def reboot(self):
|
|
+ self.set_install_abort(True)
|
|
self._backend.reboot(0)
|
|
self._update_status()
|
|
|
|
@@ -1298,6 +1308,7 @@ class vmmDomain(vmmDomainBase):
|
|
self._update_status()
|
|
|
|
def save(self, filename, background=True):
|
|
+ self.set_install_abort(True)
|
|
if background:
|
|
conn = util.dup_conn(self.config, self.connection)
|
|
vm = conn.lookupByID(self.get_id())
|
|
@@ -1308,6 +1319,7 @@ class vmmDomain(vmmDomainBase):
|
|
self._update_status()
|
|
|
|
def destroy(self):
|
|
+ self.set_install_abort(True)
|
|
self._unregister_reboot_listener()
|
|
self._backend.destroy()
|
|
self._update_status()
|