Univention Bugzilla – Bug 22098
Defekte Images im Pool führen zu Fehler beim Aktualisieren der Pool-Infos
Last modified: 2012-12-12 21:11:02 CET
Wenn im Pool ein Image liegt, dass auf ein Master-image verweist, welches nicht mehr existiert, dann führt das zu einem Traceback im UVMMd. Dadurch werden die Informationen zu allen Images im Pool nicht mehr aktualisiert: 2011-04-05 10:58:49,498 - uvmmd.command - DEBUG - STORAGE_VOLUMES qemu://dacke.knut.univention.de/system] 2011-04-05 10:58:49,505 - uvmmd.unix - ERROR - [36] Exception: Traceback (most recent call last): File "/usr/lib/python2.4/site-packages/univention/uvmm/unix.py", line 150, in handle_command res = cmd(self, command) File "/usr/lib/python2.4/site-packages/univention/uvmm/commands.py", line 319, in STORAGE_VOLUMES volumes = storage.get_storage_volumes( request.uri, request.pool, request.type ) File "/usr/lib/python2.4/site-packages/univention/uvmm/storage.py", line 204, in get_storage_volumes xml = vol.XMLDesc( 0 ) File "/usr/lib/python2.4/site-packages/libvirt.py", line 1260, in XMLDesc if ret is None: raise libvirtError ('virStorageVolGetXMLDesc() failed', vol=self) libvirtError: cannot open volume '/var/lib/libvirt/templates/single/UCS/2.4-1_Master_i386/2.4-1_Master_i386.qcow2': No such file or directory
*** Bug 26648 has been marked as a duplicate of this bug. ***
Siehe <svn+ssh://billy.knut.univention.de/var/svn/dev/branches/ucs-3.0/ucs/virtualization/univention-virtual-machine-manager-daemon/scripts-dev/check-vms.py> für ein Skript, um defekte VMs zu erkennen. Bei der Entwicklung davon sind mir folgende Dinge aufgefallen: 1. libvirt.open('qemu:///system').storageVolLookupByPath('floating.qcow2').XMLDesc(0) liefert einen Fehler, wenn das backing-Volume nicht mehr existiert. 2. Control-Zeichen im VM- oder Volume-Namen führen zu einer Exception im expat-XML-Parser.
(In reply to comment #2) > 1. > libvirt.open('qemu:///system').storageVolLookupByPath('floating.qcow2').XMLDesc(0) > liefert einen Fehler, wenn das backing-Volume nicht mehr existiert. Das ist weiterhin ein Problem, das verstärkt wieder auftauchte und deswegen jetzt noch korrigiert wurde. Der Patch ist nur für libvirt-0.9.12 relevant, in 1.0.0+git ist das Problem zwar auch (wieder) akut, wird dort aber anders gelöst (ich diskutiere das gerade noch auf der ML aus). svn36992, libvirt_0.9.12-5.116.201211071530 ChangeLog: svn15508 \item Broken qcow2 files missing their backing store no longer prohibit the storage pool form starting (\ucsBug{22098}). QA: virsh vol-create-as --format qcow2 default back.qcow2 1G virsh vol-create-as --format qcow2 --backing-vol-format qcow2 --backing-vol back.qcow2 default next.qcow2 1G virsh vol-delete --pool default back.qcow2 virsh vol-dumpxml --pool default next.qcow2 > 2. Control-Zeichen im VM- oder Volume-Namen führen zu einer Exception im > expat-XML-Parser. Das ist Bug #26681.
Verwaiste Images führen zu keinen Problemen mehr. Changelog OK.
UCS 3.1-0 has been released: http://forum.univention.de/viewtopic.php?f=54&t=2125 If this error occurs again, please use "Clone This Bug".