Re: [virt-manager][PATCH 0/2] Delete a VM from the Details Window

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 06/05/2013 04:02 PM, lagarcia@xxxxxxxxxxxxxxxxxx wrote:
From: Leonardo Garcia <lagarcia@xxxxxxxxxx>

This patch set introduces an option in the vmmDetails window to delete
the VM whose details are currently shown on the present details window.

Leonardo Garcia (2):
   Add preference to ask for confirmation while deleting a running VM.
   Add delete VM option in console viewer.

  data/org.virt-manager.virt-manager.gschema.xml |    6 +++
  ui/vmm-details.ui                              |   15 ++++++++
  ui/vmm-preferences.ui                          |   31 ++++++++++++++++
  virtManager/baseclass.py                       |    5 ++-
  virtManager/config.py                          |    4 ++
  virtManager/details.py                         |   11 +++++-
  virtManager/engine.py                          |   46 +++++++++++++++++++++++-
  virtManager/preferences.py                     |    7 ++++
  8 files changed, 120 insertions(+), 5 deletions(-)

_______________________________________________
virt-tools-list mailing list
virt-tools-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/virt-tools-list

While working on this patch set I faced the following issue:

---------------------------------------------------

2013-06-01 23:35:43,103 (details:570): Showing VM details: <vmmDomain object at 0x4169d20 (virtManager+domain+vmmDomain at 0x451c2a0)>
2013-06-01 23:35:43,973 (engine:324): window counter incremented to 2
2013-06-01 23:35:51,481 (delete:74): Showing delete wizard
2013-06-01 23:35:58,085 (asyncjob:193): Creating async job for function cb=<bound method vmmDeleteDialog._async_delete of <vmmDeleteDialog object at 0x7f7aa87ee780 (virtManager+delete+vmmDeleteDialog at 0x40b6e20)>> 2013-06-01 23:35:58,292 (delete:173): Threading off connection to delete vol. 2013-06-01 23:35:58,367 (delete:179): Deleting path: /var/lib/libvirt/images/Fedora18-test-clone.img
2013-06-01 23:35:58,468 (delete:187): Removing VM 'Fedora18-test-clone'
2013-06-01 23:35:59,213 (delete:83): Closing delete wizard
2013-06-01 23:35:59,656 (cliutils:87): Uncaught exception:
Traceback (most recent call last):
File "/home/laggarcia/src/git/virt-manager/virtManager/manager.py", line 972, in vm_resources_sampled
    row[ROW_STATUS] = vm.run_status()
File "/home/laggarcia/src/git/virt-manager/virtManager/domain.py", line 1501, in run_status
    if self.hasSavedImage():
File "/home/laggarcia/src/git/virt-manager/virtManager/domain.py", line 1235, in hasSavedImage
    return self._backend.hasManagedSaveImage(0)
File "/usr/lib64/python2.7/site-packages/libvirt.py", line 803, in hasManagedSaveImage if ret == -1: raise libvirtError ('virDomainHasManagedSaveImage() failed', dom=self) libvirtError: Domain not found: no domain with matching uuid '421fb315-16a7-a649-3a87-47f776600b4c'

Traceback (most recent call last):
File "/home/laggarcia/src/git/virt-manager/virtManager/manager.py", line 972, in vm_resources_sampled
    row[ROW_STATUS] = vm.run_status()
File "/home/laggarcia/src/git/virt-manager/virtManager/domain.py", line 1501, in run_status
    if self.hasSavedImage():
File "/home/laggarcia/src/git/virt-manager/virtManager/domain.py", line 1235, in hasSavedImage
    return self._backend.hasManagedSaveImage(0)
File "/usr/lib64/python2.7/site-packages/libvirt.py", line 803, in hasManagedSaveImage if ret == -1: raise libvirtError ('virDomainHasManagedSaveImage() failed', dom=self) libvirt.libvirtError: Domain not found: no domain with matching uuid '421fb315-16a7-a649-3a87-47f776600b4c'
2013-06-01 23:35:59,802 (cliutils:87): Uncaught exception:
Traceback (most recent call last):
File "/home/laggarcia/src/git/virt-manager/virtManager/details.py", line 2587, in refresh_resources
    self.vm.refresh_xml()
File "/home/laggarcia/src/git/virt-manager/virtManager/libvirtobject.py", line 115, in refresh_xml
    self._xml = self._XMLDesc(self._active_xml_flags)
File "/home/laggarcia/src/git/virt-manager/virtManager/domain.py", line 924, in _XMLDesc
    return self._backend.XMLDesc(flags)
File "/usr/lib64/python2.7/site-packages/libvirt.py", line 381, in XMLDesc if ret is None: raise libvirtError ('virDomainGetXMLDesc() failed', dom=self) libvirtError: Domain not found: no domain with matching uuid '421fb315-16a7-a649-3a87-47f776600b4c'

Traceback (most recent call last):
File "/home/laggarcia/src/git/virt-manager/virtManager/details.py", line 2587, in refresh_resources
    self.vm.refresh_xml()
File "/home/laggarcia/src/git/virt-manager/virtManager/libvirtobject.py", line 115, in refresh_xml
    self._xml = self._XMLDesc(self._active_xml_flags)
File "/home/laggarcia/src/git/virt-manager/virtManager/domain.py", line 924, in _XMLDesc
    return self._backend.XMLDesc(flags)
File "/usr/lib64/python2.7/site-packages/libvirt.py", line 381, in XMLDesc if ret is None: raise libvirtError ('virDomainGetXMLDesc() failed', dom=self) libvirt.libvirtError: Domain not found: no domain with matching uuid '421fb315-16a7-a649-3a87-47f776600b4c' 2013-06-01 23:35:59,866 (details:587): Closing VM details: <vmmDomain object at 0x4169d20 (virtManager+domain+vmmDomain at 0x451c2a0)>
2013-06-01 23:35:59,886 (engine:328): window counter decremented to 1

---------------------------------------------------

To reproduce this issue, someone have to, with the manager window opened, open the console viewer for a non-running VM and then, on the manager window, delete the VM with the console viewer window opened. The uncaught exception is not always thrown, however. It seems it is only thrown when a race condition happens: the resources-sampled signal is emitted, triggering both vmmManager.vm_resources_sampled and vmmDetials.refresh_resources; however, between the time the signal is emitted and the routines are run, the VM is deleted, causing the above exceptions.

I'll be working to fix this race condition.

Best regards,

Leonardo Garcia

_______________________________________________
virt-tools-list mailing list
virt-tools-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/virt-tools-list




[Index of Archives]     [Linux Virtualization]     [KVM Development]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux