Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP2:GA
virt-manager.3850
virtman-allow-destroy-from-shutdown-menu-of-cra...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File virtman-allow-destroy-from-shutdown-menu-of-crashed-vm.patch of Package virt-manager.3850
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-1.2.1/virtManager/manager.py =================================================================== --- virt-manager-1.2.1.orig/virtManager/manager.py +++ virt-manager-1.2.1/virtManager/manager.py @@ -864,7 +864,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-1.2.1/virtManager/vmmenu.py =================================================================== --- virt-manager-1.2.1.orig/virtManager/vmmenu.py +++ virt-manager-1.2.1/virtManager/vmmenu.py @@ -50,6 +50,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() @@ -111,6 +112,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]) if name == "reset": child.set_tooltip_text(None) @@ -127,7 +129,8 @@ class VMActionMenu(_VMMenu): self._add_action(_("_Pause"), "suspend", Gtk.STOCK_MEDIA_PAUSE) self._add_action(_("R_esume"), "resume", Gtk.STOCK_MEDIA_PAUSE) s = self._add_action(_("_Shut Down"), "shutdown", addcb=False) - 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", None) @@ -143,7 +146,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()), @@ -160,6 +163,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])
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor