Merge "libvirt: Catch VIR_ERR_NO_DOMAIN in list_instances"
This commit is contained in:
@@ -1072,6 +1072,10 @@ class LibvirtConnTestCase(test.TestCase):
|
||||
libvirt_driver.LibvirtDriver._conn.listDomainsID = lambda: [0, 1]
|
||||
libvirt_driver.LibvirtDriver._conn.listDefinedDomains = lambda: []
|
||||
|
||||
self.mox.StubOutWithMock(libvirt.libvirtError, "get_error_code")
|
||||
libvirt.libvirtError.get_error_code().AndReturn(
|
||||
libvirt.VIR_ERR_NO_DOMAIN)
|
||||
|
||||
self.mox.ReplayAll()
|
||||
conn = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)
|
||||
instances = conn.list_instances()
|
||||
|
||||
@@ -673,9 +673,10 @@ class LibvirtDriver(driver.ComputeDriver):
|
||||
if domain_id != 0:
|
||||
domain = self._conn.lookupByID(domain_id)
|
||||
names.append(domain.name())
|
||||
except libvirt.libvirtError:
|
||||
# Instance was deleted while listing... ignore it
|
||||
pass
|
||||
except libvirt.libvirtError as e:
|
||||
if e.get_error_code() != libvirt.VIR_ERR_NO_DOMAIN:
|
||||
# Ignore deleted instance while listing
|
||||
raise
|
||||
|
||||
# extend instance list to contain also defined domains
|
||||
names.extend([vm for vm in self._conn.listDefinedDomains()
|
||||
|
||||
Reference in New Issue
Block a user