This e.g. happens when the volume was moved away but the pool didn't get refereshed: Traceback (most recent call last): File "/usr/share/virt-manager/virtManager/create.py", line 1229, in browse_import self._browse_file(set_path, is_media=False) File "/usr/share/virt-manager/virtManager/create.py", line 2118, in _browse_file self.storage_browser.show(self.topwin, self.conn) File "/usr/share/virt-manager/virtManager/storagebrowse.py", line 74, in show self.reset_state(conn) File "/usr/share/virt-manager/virtManager/storagebrowse.py", line 183, in reset_state self.pool_selected() File "/usr/share/virt-manager/virtManager/storagebrowse.py", line 257, in pool_selected self.populate_storage_volumes() File "/usr/share/virt-manager/virtManager/storagebrowse.py", line 322, in populate_storage_volumes path = vol.get_target_path() File "/usr/share/virt-manager/virtManager/storagevol.py", line 49, in get_target_path return util.xpath(self.get_xml(), "/volume/target/path") File "/usr/share/virt-manager/virtManager/libvirtobject.py", line 93, in get_xml self.refresh_xml() File "/usr/share/virt-manager/virtManager/libvirtobject.py", line 105, in refresh_xml self._xml = self._XMLDesc(self._active_xml_flags) File "/usr/share/virt-manager/virtManager/storagevol.py", line 35, in _XMLDesc return self.vol.XMLDesc(flags) File "/usr/lib/python2.7/dist-packages/libvirt.py", line 2002, in XMLDesc if ret is None: raise libvirtError ('virStorageVolGetXMLDesc() failed', vol=self) libvirt.libvirtError: cannot stat file '/var/scratch/vms/squeeze-template.img': No such file or directory Instead of failing the whole pool simply ignore the one failing volume. Without this patch selecting "Browse..." when creating a new vm from an existing disk image won't show the volume dialog if the default pool has a missing volume. --- src/virtManager/storagebrowse.py | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/virtManager/storagebrowse.py b/src/virtManager/storagebrowse.py index b6d8dad..c470320 100644 --- a/src/virtManager/storagebrowse.py +++ b/src/virtManager/storagebrowse.py @@ -320,8 +320,13 @@ class vmmStorageBrowser(vmmGObjectUI): for key in vols.keys(): vol = vols[key] sensitive = True - path = vol.get_target_path() - fmt = vol.get_format() or "" + try: + path = vol.get_target_path() + fmt = vol.get_format() or "" + except Exception: + logging.exception("Failed to determine volume parameters, " + "skipping volume %s" % key) + continue namestr = None try: -- 1.7.7.3