0b51f8ff5d
(TOCTOU) race condition Resolved by upgrade to version 4.0.0 (jsc#SLE-16582) virt-manager-4.0.0.tar.gz - Other features and bug fixes (bsc#1027942) virt-install –os-variant/–osinfo is now a hard requirement for most cases Add ‘Enable shared memory’ UI checkbox (Lin Ma) add UI preference to default to UEFI for new VMs (Charles Arnold) Add virtiofs filesystem driver UI option Fill in all –cputune, –cpu, –shmem, –input, and –boot suboptions (Hugues Fafard) virt-* mdev improvements (Shalini Chellathurai Saroja) bhyve improvments (Roman Bogorodskiy) Revive network portgroup UI enable a TPM by default when UEFI is used (Daniel P. Berrangé) Use cpu host-passthrough by default on qemu x86 use virtio-gpu video for most modern distros Default to extra pcie root ports for q35 set discard=unmap by default for sparse disks and block devices We now require xorissofs for –location ISO We now use setuptools rather than just plain distutils - Add virtman-revert-use-of-AyatanaAppIndicator3.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=558
70 lines
3.1 KiB
Diff
70 lines
3.1 KiB
Diff
Reference: bnc#875111
|
|
Steps to get a KVM VM in the crashed state:
|
|
1) Install a sles12 KVM VM
|
|
2) Manually edit the XML and add/modify <on_crash>preserve</on_crash>
|
|
3) In virt-manager add the panic device (Details->Add Hardware)
|
|
4) Edit the VM's /etc/default/grub file and remove the crashkernel information
|
|
and then run grub2-mkconfig /boot/grub2/grub.cfg.
|
|
5) Start the VM and within the VM's terminal type "echo 'c' > /proc/sysrq-trigger"
|
|
Index: virt-manager-3.3.0/virtManager/manager.py
|
|
===================================================================
|
|
--- virt-manager-3.3.0.orig/virtManager/manager.py
|
|
+++ virt-manager-3.3.0/virtManager/manager.py
|
|
@@ -776,7 +776,7 @@ class vmmManager(vmmGObjectUI):
|
|
show_pause = bool(vm and vm.is_unpauseable())
|
|
else:
|
|
show_pause = bool(vm and vm.is_pauseable())
|
|
- show_shutdown = bool(vm and vm.is_stoppable())
|
|
+ show_shutdown = bool(vm and vm.is_destroyable())
|
|
|
|
if vm and vm.managedsave_supported:
|
|
self.change_run_text(vm.has_managed_save())
|
|
Index: virt-manager-3.3.0/virtManager/vmmenu.py
|
|
===================================================================
|
|
--- virt-manager-3.3.0.orig/virtManager/vmmenu.py
|
|
+++ virt-manager-3.3.0/virtManager/vmmenu.py
|
|
@@ -21,6 +21,7 @@ class _VMMenu(Gtk.Menu):
|
|
self._parent = src
|
|
self._current_vm_cb = current_vm_cb
|
|
self._show_open = show_open
|
|
+ self._shutdown = None
|
|
|
|
self._init_state()
|
|
|
|
@@ -72,6 +73,7 @@ class VMShutdownMenu(_VMMenu):
|
|
name = getattr(child, "vmm_widget_name", None)
|
|
if name in statemap:
|
|
child.set_sensitive(statemap[name])
|
|
+ child.set_visible(statemap[name])
|
|
|
|
|
|
class VMActionMenu(_VMMenu):
|
|
@@ -83,7 +85,8 @@ class VMActionMenu(_VMMenu):
|
|
self._add_action(_("_Pause"), "suspend", VMActionUI.suspend)
|
|
self._add_action(_("R_esume"), "resume", VMActionUI.resume)
|
|
s = self._add_action(_("_Shut Down"), "shutdown", None)
|
|
- s.set_submenu(VMShutdownMenu(self._parent, self._current_vm_cb))
|
|
+ self._shutdown = VMShutdownMenu(self._parent, self._current_vm_cb)
|
|
+ s.set_submenu(self._shutdown)
|
|
|
|
self.add(Gtk.SeparatorMenuItem())
|
|
self._add_action(_("Clone..."), "clone", VMActionUI.clone)
|
|
@@ -100,7 +103,7 @@ class VMActionMenu(_VMMenu):
|
|
def update_widget_states(self, vm):
|
|
statemap = {
|
|
"run": bool(vm and vm.is_runable()),
|
|
- "shutdown": bool(vm and vm.is_stoppable()),
|
|
+ "shutdown": bool(vm and vm.is_destroyable()),
|
|
"suspend": bool(vm and vm.is_stoppable()),
|
|
"resume": bool(vm and vm.is_paused()),
|
|
"migrate": bool(vm and vm.is_stoppable()),
|
|
@@ -117,6 +120,8 @@ class VMActionMenu(_VMMenu):
|
|
child.get_submenu().update_widget_states(vm)
|
|
if name in statemap:
|
|
child.set_sensitive(statemap[name])
|
|
+ if name == "shutdown" and self._shutdown:
|
|
+ self._shutdown.update_widget_states(vm)
|
|
if name in vismap:
|
|
child.set_visible(vismap[name])
|
|
|