[virt-tools-list] [PATCH] virt-manager: ignore another VIR_ERR_NO_DOMAIN error
Cole Robinson
crobinso at redhat.com
Tue Aug 27 17:44:59 UTC 2013
On 08/21/2013 07:28 PM, Giuseppe Scrivano wrote:
> It fixes this exception while removing a VM:
>
> Traceback (most recent call last):
> File "virt-manager/virtManager/details.py", line 1438, in refresh_vm_state
> self.change_run_text(vm.hasSavedImage())
> File "virt-manager/virtManager/domain.py", line 1238, in hasSavedImage
> return self._backend.hasManagedSaveImage(0)
> File "/usr/local/lib/python2.7/site-packages/libvirt.py", line 852, in hasManagedSaveImage
> if ret == -1: raise libvirtError ('virDomainHasManagedSaveImage() failed', dom=self)
> libvirt.libvirtError: Domain not found: no domain with matching uuid
> '7c3eebec-9b22-48ea-b9a2-3341840d0476' (test)
>
> Traceback (most recent call last):
> File "virt-manager/virtManager/manager.py", line 885, in vm_status_changed
> self.vm_selected()
> File "virt-manager/virtManager/manager.py", line 1009, in vm_selected
> self.change_run_text(vm.hasSavedImage())
> File "virt-manager/virtManager/domain.py", line 1238, in hasSavedImage
> return self._backend.hasManagedSaveImage(0)
> File "/usr/local/lib/python2.7/site-packages/libvirt.py", line 852, in hasManagedSaveImage
> if ret == -1: raise libvirtError ('virDomainHasManagedSaveImage() failed', dom=self)
> libvirt.libvirtError: Domain not found: no domain with matching uuid
> '7c3eebec-9b22-48ea-b9a2-3341840d0476' (test)
>
> Signed-off-by: Giuseppe Scrivano <gscrivan at redhat.com>
> ---
> virtManager/domain.py | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/virtManager/domain.py b/virtManager/domain.py
> index a2ae5c5..4ce6328 100644
> --- a/virtManager/domain.py
> +++ b/virtManager/domain.py
> @@ -1234,7 +1234,12 @@ class vmmDomain(vmmLibvirtObject):
> def hasSavedImage(self):
> if not self.managedsave_supported:
> return False
> - return self._backend.hasManagedSaveImage(0)
> + try:
> + return self._backend.hasManagedSaveImage(0)
> + except libvirt.libvirtError, e:
> + if not uihelpers.exception_is_libvirt_error(e, "VIR_ERR_NO_DOMAIN"):
> + raise
> + return False
>
> def removeSavedImage(self):
> if not self.hasSavedImage():
>
ACK, pushed now.
- Cole
More information about the virt-tools-list
mailing list