Caught unknown libvirt errors on getting runtime VM info
In some cases libvirt doesn't report error code at all. This probably happens in some stage of domain startup/shutdown. Threat this the same as domain not running. Fixes QubesOS/qubes-issues#1537
This commit is contained in:
parent
0d31306b90
commit
8ee909f08c
@ -779,6 +779,8 @@ class QubesVm(object):
|
|||||||
# libxl_domain_info failed - domain no longer exists
|
# libxl_domain_info failed - domain no longer exists
|
||||||
elif e.get_error_code() == libvirt.VIR_ERR_INTERNAL_ERROR:
|
elif e.get_error_code() == libvirt.VIR_ERR_INTERNAL_ERROR:
|
||||||
return 0
|
return 0
|
||||||
|
elif e.get_error_code() is None: # unknown...
|
||||||
|
return 0
|
||||||
else:
|
else:
|
||||||
print >>sys.stderr, "libvirt error code: {!r}".format(
|
print >>sys.stderr, "libvirt error code: {!r}".format(
|
||||||
e.get_error_code())
|
e.get_error_code())
|
||||||
@ -798,6 +800,8 @@ class QubesVm(object):
|
|||||||
# libxl_domain_info failed - domain no longer exists
|
# libxl_domain_info failed - domain no longer exists
|
||||||
elif e.get_error_code() == libvirt.VIR_INTERNAL_ERROR:
|
elif e.get_error_code() == libvirt.VIR_INTERNAL_ERROR:
|
||||||
return 0
|
return 0
|
||||||
|
elif e.get_error_code() is None: # unknown...
|
||||||
|
return 0
|
||||||
else:
|
else:
|
||||||
print >>sys.stderr, "libvirt error code: {!r}".format(
|
print >>sys.stderr, "libvirt error code: {!r}".format(
|
||||||
e.get_error_code())
|
e.get_error_code())
|
||||||
@ -918,6 +922,11 @@ class QubesVm(object):
|
|||||||
except libvirt.libvirtError as e:
|
except libvirt.libvirtError as e:
|
||||||
if e.get_error_code() == libvirt.VIR_ERR_NO_DOMAIN:
|
if e.get_error_code() == libvirt.VIR_ERR_NO_DOMAIN:
|
||||||
return False
|
return False
|
||||||
|
# libxl_domain_info failed - domain no longer exists
|
||||||
|
elif e.get_error_code() == libvirt.VIR_INTERNAL_ERROR:
|
||||||
|
return False
|
||||||
|
elif e.get_error_code() is None: # unknown...
|
||||||
|
return False
|
||||||
else:
|
else:
|
||||||
print >>sys.stderr, "libvirt error code: {!r}".format(
|
print >>sys.stderr, "libvirt error code: {!r}".format(
|
||||||
e.get_error_code())
|
e.get_error_code())
|
||||||
@ -932,6 +941,11 @@ class QubesVm(object):
|
|||||||
except libvirt.libvirtError as e:
|
except libvirt.libvirtError as e:
|
||||||
if e.get_error_code() == libvirt.VIR_ERR_NO_DOMAIN:
|
if e.get_error_code() == libvirt.VIR_ERR_NO_DOMAIN:
|
||||||
return False
|
return False
|
||||||
|
# libxl_domain_info failed - domain no longer exists
|
||||||
|
elif e.get_error_code() == libvirt.VIR_INTERNAL_ERROR:
|
||||||
|
return False
|
||||||
|
elif e.get_error_code() is None: # unknown...
|
||||||
|
return False
|
||||||
else:
|
else:
|
||||||
print >>sys.stderr, "libvirt error code: {!r}".format(
|
print >>sys.stderr, "libvirt error code: {!r}".format(
|
||||||
e.get_error_code())
|
e.get_error_code())
|
||||||
|
Loading…
Reference in New Issue
Block a user