Bug 25181 - Informationen über Snapshots werden nicht vollständig entfernt
Informationen über Snapshots werden nicht vollständig entfernt
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: Virtualization - UVMM
UCS 3.0
Other Linux
: P2 normal (vote)
: UCS 3.1
Assigned To: Philipp Hahn
Janek Walkenhorst
: interim-3
: 28127 (view as bug list)
Depends on:
Blocks: 29253
  Show dependency treegraph
 
Reported: 2011-12-05 15:22 CET by Janis Meybohm
Modified: 2012-12-12 21:07 CET (History)
5 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Janis Meybohm univentionstaff 2011-12-05 15:22:40 CET
Ich hatte eine KVM-Instanz mit vier Platten und zwei Snapshots.
Die Platten habe ich im UVMM nacheinander gelöscht und sie anschließend (gleiche Namen, Größe etc. - alles default) wieder angelegt. Anschließend waren die ehemals erstellten Snapshots wieder zu sehen.

Ich habe dann die ganze Instanz gelöscht und mit gleichen Namen sowie den vier Platten (auch wieder alles default) wieder angelegt - auch dann tauchen die Snapshots wieder auf.
Comment 1 Philipp Hahn univentionstaff 2011-12-09 08:58:04 CET
libvirt-0.8.7 löscht noch nicht die zugehörigen Metadaten beim löschen der Domain-Definition, das wurde erst mit 0.9.5 nachgerüstet <http://libvirt.org/git/?p=libvirt.git;a=commitdiff;h=e485dcc9cbe253c1282263996156f3658b4b775e>.
Comment 2 Sönke Schwardt-Krummrich univentionstaff 2012-05-09 11:18:14 CEST
Wird ein Revert auf einen der nicht mehr vorhandenen Snapshots probiert, hängt anschließend der libvirtd auf dem System.
Comment 3 Philipp Hahn univentionstaff 2012-06-06 12:29:16 CEST
Erneut heute intern und gestern auch extern bei einem Kunden aufgetreten:
Nach dem Neuanlegen hat die neue VM eine andere UUID, in der Snapshot-XML-Datei steht allerdings noch die alte UUID. Bei einem Revert ändert sich dann dadurch plötzlich die UUID, was libvirtd aus dem Tritt bringt: Er sucht dann immer nach der falschen UUID und kann keinen passenden Namen zu finden, was dann als "No state" angezeigt wird.

In /var/log/univention/virtual-machine-manager-daemon-errors.log wird das massenhaft als "libvir: QEMU error : Domain not found: no domain with matching uuid '0e833b14-ca53-be26-a04d-919ecfd17f64'" gemeldet.
Comment 4 Stefan Gohmann univentionstaff 2012-07-17 17:09:41 CEST
UCS 3.1 will be the next release.
Comment 5 Philipp Hahn univentionstaff 2012-07-31 16:38:59 CEST
*** Bug 28127 has been marked as a duplicate of this bug. ***
Comment 6 Philipp Hahn univentionstaff 2012-10-26 22:37:45 CEST
Das Problem ist hier, daß wir libvirt gepatched haben (3001-Allow-to-migrate-and-undefine-domains-with-snapshots.patch), damit die Snapshots eben nicht beim Undefine der Domain gelöscht werden, weil dieses bei der Migration einer inaktiven Domain nicht passieren darf. Diese Funktionalität wird nicht direkt durch libvirt zur Verfügung gestellt (ein Patch dazu wird seit Wochen auf der ML diskutiert: <https://www.redhat.com/archives/libvir-list/2012-October/msg00950.html>)
In libvirt fehlt aber auch weiterhin die Unterstützung für VMs mit Snapshots: In UCS habe wir das auch nur dadurch ermöglicht, wenn /var/lib/libvirt/qemu/snapshots/ auf einem gemeinsamen Laufwerk liegt.


svn11033: libvirt wurde jetzt so gepatched, daß die Snapshots bei Migration nicht gelöscht werden, aber durch dom.undefineFlags(VIR_DOMAIN_UNDEFINE_SNAPSHOTS_METADATA) gelöscht werden.
libvirt_0.9.12-5.115.201210262224<

svn36687: UVMM verwendet nun dieses Flag beim Löschen, um die Snapshots ebenfalls zu löschen.
univention-virtual-machine-manager-daemon_2.0.12-2.401.201210262229

ChangLog: svn15399
\item Snapshots are now deleted when a virtual machine is removed (\ucsBug{25181}).
Comment 7 Philipp Hahn univentionstaff 2012-11-07 15:49:08 CET
Durch die Umstellung kam es jetzt zu Problemeb beim Löschen von Xen-VMs, da die Xen-Implementierung in libvirt nicht mit den zusätzlichen Flags zurecht kam.
svn36990, univention-virtual-machine-manager-daemon_2.0.16-1.406.201211071545
Comment 8 Janek Walkenhorst univentionstaff 2012-11-15 18:05:29 CET
(In reply to comment #0)
> Ich hatte eine KVM-Instanz mit vier Platten und zwei Snapshots.
> Die Platten habe ich im UVMM nacheinander gelöscht und sie anschließend
> (gleiche Namen, Größe etc. - alles default) wieder angelegt. Anschließend waren
> die ehemals erstellten Snapshots wieder zu sehen.
Dies tritt noch auf.

> Ich habe dann die ganze Instanz gelöscht und mit gleichen Namen sowie den vier
> Platten (auch wieder alles default) wieder angelegt - auch dann tauchen die
> Snapshots wieder auf.
Dies tritt nicht mehr auf.
Comment 9 Philipp Hahn univentionstaff 2012-11-16 07:49:14 CET
(In reply to comment #8)
> (In reply to comment #0)
> > Ich hatte eine KVM-Instanz mit vier Platten und zwei Snapshots.
> > Die Platten habe ich im UVMM nacheinander gelöscht und sie anschließend
> > (gleiche Namen, Größe etc. - alles default) wieder angelegt. Anschließend waren
> > die ehemals erstellten Snapshots wieder zu sehen.
> Dies tritt noch auf.

Dadurch werden die XML-Informationen von libvirtd und die Daten innerhalb der qcow2 inkonsistent. libvirt validiert derzeit nicht seine XML-Dateien, ob die benötigten qcow2-Dateien oder die Snapshot-Daten innerhalb der qcow2-Dateien auch wirklich noch existieren.
Das zu implementieren ist nicht mal eben gemacht, weil das eine Erweiterung der XML-Daten erfordert. Entsprechende Email an die Mailingliste ist raus.

Auf der anderen Seite kann man darüber streiten, ob das Löschen und Neuanlegen der qcow2-Datei mit gleichem Name nicht einem Modifizieren der internen Daten von QEMU gleich kommt und damit in die Kategorie "Don't do that, ever!" gehört.
Comment 10 Philipp Hahn univentionstaff 2012-11-16 09:02:32 CET
(In reply to comment #9)
Das wurde in Bug #29253 ausgelagert, damit kann der Bug wieder zu.
Comment 11 Janek Walkenhorst univentionstaff 2012-11-19 13:27:37 CET
(In reply to comment #10)
> (In reply to comment #9)
> Das wurde in Bug #29253 ausgelagert, damit kann der Bug wieder zu.
OK

Changelog OK
Comment 12 Stefan Gohmann univentionstaff 2012-12-12 21:07:57 CET
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".