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

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



On 06/05/2013 04:02 PM, lagarcia linux vnet ibm com wrote:
From: Leonardo Garcia <lagarcia br ibm com>

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 redhat com
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


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