Univention Bugzilla – Bug 18579
Informationen über Instanzen nicht mehr abrufbar
Last modified: 2011-04-04 15:47:43 CEST
Ich habe eine Instanz in UVMM per Stop angehalten. Ich konnte die VM nicht wieder starten, da die Instanz nicht mehr in der Liste aufgeführt wird.
Die Instanz stürzt beim Boot mit einem Bluescreen ab, ggf. liegt es daran.
*** Bug 18706 has been marked as a duplicate of this bug. ***
Das hängt alles mit dem gleichen Problem zusammen. Es kommt verschiedenen Operationen vor, dass der libvirtd nicht mehr auf die verfügbaren Domainen zugreifen kann. Der UVMMd verwendet dabei einen Remote Zugriff (TCP Verbindung). Über ein lokale UNIX-Socket sind die Informationen weiterhin verfügbar. Ich würde sagen das Problem muss zur 2.4 noch untersucht und behoben werden.
Das lässt sich momentan nicht mehr reproduzieren. Ich habe eine kleine Änderung in UVMM gemacht die evtl. damit zusammenhängen könnte. Es gab einen Traceback, der scheinbar dann auftrat, wenn eine Maschine gerade am Booten war. Dort wurde versucht die CPU-Zeit zu berechnen, dabei trat ein DivisionZeroError auf. Ich lasse den Bug aber noch einmal auf, da das noch ausgiebiger getestet werden sollte.
Dieses Problem ist eben gerade wieder auf einer Maschine aufgetreten. Die virtuellen Instanzen könnten nur über eine lokale Verbindung abgefragt werden. Zuvor wurde uvvmd aktualisiert. Eventuell hing es dieses Mal damit zusammen. Dabei werden uvmmd sowie libvirt neu gestartet.
*** Bug 18576 has been marked as a duplicate of this bug. ***
Das Problem tritt mittlerweile deutlich seltener auf was vermutlich mit den Aktualisierungen von Xen und libvirt zusammenhängt. Da es nur noch sehr selten auftritt und das UMC-Modul dem Benutzer mittlerweile Möglichkeiten bietet das Problem selbst zu beheben, schiebe ich den Bug erst einmal auf 2.x. Tritt das Problem noch einmal auf, sollte folgendes an diesem Bug vermerkt werden: - Welche Aktionen wurden zuletzt ausgeführt`(im UMC Modul oder Paketaktualisierungen)? - Um was für eine Maschine geht es, die nicht mehr zu sehen ist? virsh dumpxml <instance> - Log-File vom UVMMd, libvirt und xend
Ich habe auf samla in uvmm die Bootreihenfolge von HDD und CDROM getauscht und dann auf speichern geklickt, dann kam eine Meldung mit Resynchronisationsbutton, den habe ich benutzt und folgenden Traceback erhalten: Die Ausführung des Kommandos 'uvmm/domain/overview' ist fehlgeschlagen: Traceback (most recent call last): File "/usr/lib/python2.4/site-packages/univention/management/console/handlers/__init__.py", line 160, in execute func( object ) File "/usr/lib/python2.4/site-packages/univention/management/console/handlers/uvmm/__init__.py", line 712, in uvmm_domain_overview node, domain_info = self.uvmm.get_domain_info_ext( node_uri, object.options[ 'domain' ] ) File "/usr/lib/python2.4/site-packages/univention/management/console/handlers/uvmm/uvmmd.py", line 206, in get_domain_info_ext for dom in node_info.domains: AttributeError: 'NoneType' object has no attribute 'domain' billy war daraufhin aus der Liste der Instanzen verschwunden, hier baer noch zu sehen: root@samla:~# virsh list --all Id Name State ---------------------------------- 1 gasell running 2 laiva running 3 baren running 4 bekka running 5 ramberg running - billy shut off
ähnlicher Traceback beim klick auf beenden grade: Die Ausführung des Kommandos 'uvmm/domain/overview' ist fehlgeschlagen: Traceback (most recent call last): File "/usr/lib/python2.4/site-packages/univention/management/console/handlers/__init__.py", line 160, in execute func( object ) File "/usr/lib/python2.4/site-packages/univention/management/console/handlers/uvmm/__init__.py", line 704, in uvmm_domain_overview ( success, res ) = TreeView.safely_get_tree( self.uvmm, object, ( 'group', 'node', 'domain' ) ) File "/usr/lib/python2.4/site-packages/univention/management/console/handlers/uvmm/treeview.py", line 160, in safely_get_tree table = TreeView.get_tree( uvmm_client, current = current_path ) File "/usr/lib/python2.4/site-packages/univention/management/console/handlers/uvmm/treeview.py", line 174, in get_tree table.set_tree_data( TreeView.convert( uvmm_client.get_node_tree(), current, additional_buttons = additional_buttons, uvmm = uvmm_client, cache = {} ) ) File "/usr/lib/python2.4/site-packages/univention/management/console/handlers/uvmm/treeview.py", line 146, in convert items.extend(TreeView.convert(item, current, level + 1, options=copy.copy(options), additional_buttons=additional_buttons, uvmm=uvmm, node_uri=node_uri, cache=cache)) File "/usr/lib/python2.4/site-packages/univention/management/console/handlers/uvmm/treeview.py", line 146, in convert items.extend(TreeView.convert(item, current, level + 1, options=copy.copy(options), additional_buttons=additional_buttons, uvmm=uvmm, node_uri=node_uri, cache=cache)) File "/usr/lib/python2.4/site-packages/univention/management/console/handlers/uvmm/treeview.py", line 146, in convert items.extend(TreeView.convert(item, current, level + 1, options=copy.copy(options), additional_buttons=additional_buttons, uvmm=uvmm, node_uri=node_uri, cache=cache)) File "/usr/lib/python2.4/site-packages/univention/management/console/handlers/uvmm/treeview.py", line 125, in convert for domain_info in node_info.domains: AttributeError: 'NoneType' object has no attribute 'domains'
Das ist gestern im Workshop auch nochmal aufgetreten: Die Ausführung des Kommandos 'uvmm/domain/overview' ist fehlgeschlagen: Traceback (most recent call last): File "/usr/lib/python2.4/site-packages/univention/management/console/handlers/__init__.py", line 160, in execute func( object ) File "/usr/lib/python2.4/site-packages/univention/management/console/handlers/uvmm/__init__.py", line 729, in uvmm_domain_overview node, domain_info = self.uvmm.get_domain_info_ext( node_uri, object.options[ 'domain' ] ) File "/usr/lib/python2.4/site-packages/univention/management/console/handlers/uvmm/uvmmd.py", line 206, in get_domain_info_ext for dom in node_info.domains: AttributeError: 'NoneType' object has no attribute 'domains' Leider bin ich mir nicht mehr ganz sicher, welche Aktion wir vorher ausgeführt hatten.
(In reply to comment #10) > line 729, in uvmm_domain_overview > node, domain_info = self.uvmm.get_domain_info_ext( node_uri, > object.options[ 'domain' ] ) > File > "/usr/lib/python2.4/site-packages/univention/management/console/handlers/uvmm/uvmmd.py", > line 206, in get_domain_info_ext > for dom in node_info.domains: > AttributeError: 'NoneType' object has no attribute 'domains' > > Leider bin ich mir nicht mehr ganz sicher, welche Aktion wir vorher ausgeführt > hatten. Doch, der ist aufgetreten, als wir das CDROM Device aus der Bootreihenfolge entfernt haben.
Von einem Kunden berichtet: Ticket #2010102610007031
Von einem Partner berichtet, Ticket#: 2010121610002711 UCS 2.4-1 Anbei noch einmal der Trace da sich die Zeilenangaben geändert haben. Die Ausführung des Kommandos 'uvmm/domain/overview' ist fehlgeschlagen: Traceback (most recent call last): File "/usr/lib/python2.4/site-packages/univention/management/console/handlers/__init__.py", line 160, in execute func( object ) File "/usr/lib/python2.4/site-packages/univention/management/console/handlers/uvmm/__init__.py", line 850, in uvmm_domain_overview node_info, domain_info = self.uvmm.get_domain_info_ext( node_uri, object.options[ 'domain' ] ) File "/usr/lib/python2.4/site-packages/univention/management/console/handlers/uvmm/uvmmd.py", line 217, in get_domain_info_ext for domain_info in node_info.domains: AttributeError: 'NoneType' object has no attribute 'domains' Er wurde folgendermaßen produziert (ist bisher aber nur einmal aufgetreten): Auf der Konfigurationsseite eines aktiven Gastsystems erst auf den "Aktualisieren" Link geklickt, dann kam eine Fehlermeldung, das die Daten nicht angezeigt werden können. Die Fehlerseite bot den Link "Resynchronisation", der den Traceback ausgelöst hat.
Ist jetzt auch hier aufgetreten: - Instanz ausgewählt - "Direktwhatever" (ehemals VNC) ausgewählt (extern) - Instanz per halt runtergefahren - VNC-Fenster geschlossen - Instanz erneut ausgewält (als refresh) - Traceback wie in comment 13
(In reply to comment #14) Anschließend (nach dem Klicken auf OK bei den Traceback) ist der Node jetzt weg: /var/log/univention/virtual-machine-manager-daemon.log 2010-12-27 17:05:50,329 - uvmmd.unix - WARNING - [1] Error doing command "NODE_QUERY": Hypervisor "qemu://samla.knut.univention.de/system" is unavailable. root@samla:~# uvmm query qemu://samla.knut.univention.de/system ERROR: Fehler beim Warten auf eine Antwort: 104 Danach war der uvmmd dann beendet (ohne weiteren Kommentar). Nach einem manuellen Start läuft der Dienst nun wieder und das Modul verhält sich normal.
erneut berichtet an Ticket#: 2011011810002076 http://forum.univention.de/viewtopic.php?f=43&t=1240&p=4160
Das Phänomen habe ich ebenfalls in einem System mit Xen-Virtualisierung in einer Schulung feststellen können. Der Versuch die Virtualisierungsdienste über die UMC - Systemdienste neu zu starten, funktionierte nicht. Es mussten manuell über ein /etc/init.d/... restart die Dienste neu gestartet werden.
In UCS 2.4-2 wurden einige Verbesserungen in diesem Bereich umgesetzt und es lässt sich damit nicht mehr reproduzieren: - Bug #21874 - Bug #21712 - Bug #21701 Wenn ich es richtig gesehen habe, dann trat das Problem bisher nur in Verbindung mit Xen auf. Hier sollte der Dom0 genug Speicher und mindestens eine CPU (je nach Hardware auch 2 CPUs) zugewiesen werden, beispielsweise: ucr set grub/xenhopt="dom0_mem=1024M dom0_max_vcpus=2 dom0_vcpus_pin"
Ich habe das geschilderte Problem nach intensiver QA zu UVMM in Verbindung mit KVM und/oder XEN zu anderen Bugs nicht einmal gesehen und auch nicht bewusst reproduzieren können - daher hier verified worksforme
UCS 2.4-2 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer neueren Version von UCS erneut auftreten, so sollte der Bug dupliziert werden: "Clone This Bug".