vmm connection: Handle missing storage volumes (bz 1070883)

Similar to what was done in a808bd6692
for the virtinst connection wrapper.
This commit is contained in:
Cole Robinson
2014-02-27 13:16:21 -05:00
parent 77553c7e49
commit f67df11701
+11 -4
View File
@@ -172,10 +172,17 @@ class vmmConnection(vmmGObject):
self._backend.cb_fetch_all_pools = ( self._backend.cb_fetch_all_pools = (
lambda: [obj.get_xmlobj(refresh_if_nec=False) lambda: [obj.get_xmlobj(refresh_if_nec=False)
for obj in self.pools.values()]) for obj in self.pools.values()])
self._backend.cb_fetch_all_vols = (
lambda: [obj.get_xmlobj(refresh_if_nec=False) def fetch_all_vols():
for pool in self.pools.values() ret = []
for obj in pool.get_volumes(refresh=False).values()]) for pool in self.pools.values():
for vol in pool.get_volumes(refresh=False).values():
try:
ret.append(vol.get_xmlobj(refresh_if_nec=False))
except libvirt.libvirtError, e:
logging.debug("Fetching volume XML failed: %s", e)
return ret
self._backend.cb_fetch_all_vols = fetch_all_vols
def clear_cache(pools=False): def clear_cache(pools=False):
if not pools: if not pools: