Erstellung der novnc.tokens

virtualization
german

#1

Hi Forum,

ich hätte eine Frage zur Erstellung der novnc Tokens unter /var/cache/univention-virtual-machine-manager-daemon/novnc.tokens:
Wie werden diese Token genau erstellt? Passiert dies beim Anlegen und Migrieren einer VM oder gibt es hierfür ein Skript?

Konkret habe ich ein Problem, dass die Einträge in den Token-Files nicht mit den laufenden VMs überein stimmen.
Der Grund dafür ist, dass die VNC Ports im libvirt Config File von allen VMs auf Autoport gestellt wurden und die VMs neu gestartet wurden:

server-win01.xml:    <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0' keymap='de'>

Nach dem Neustarten der VMs wurden die VNC-Ports durchgetauscht und via UVMM kommt man nun auf die falschen VMs.

Ich sehe vom Timestamp her, dass die novnc Tokens im März/April erstellt wurden, aber mittlerweile die VMs neu gestartet wurden:

# ls -l insgesamt 12 -rw-r--r-- 1 root root 195 3. Apr 2014 qemu%3a%2f%2fvirt03%2edemo%2elocal%2fsystem -rw-r--r-- 1 root root 0 7. Mär 2014 qemu%3a%2f%2fvirt02%2edemo%2elocal%2fsystem -rw-r--r-- 1 root root 130 3. Apr 2014 qemu%3a%2f%2fvirt01%2edemo%2elocal%2fsystem

Ich würde ein Skript schreiben, welches die laufenden VMs überprüft und die belegten VNC Ports und die Token entsprechend anpassen.
Allerdings ist dies nur eine Notlösung - wenn es hier einen von UCS definierten Weg zum Updaten der Token geben würde wäre ich nicht unglücklich…

Danke,
René


#2

Hallo,

ich hab mir das bei uns angeschaut, die Datei mit den zum jeweiligen Host gehörenden Token der VMs, unter /var/cache/univention-virtual-machine-manager-daemon/novnc.tokens/, wird jeweils neu geschrieben bzw. aktualisiert wenn eine VM abgeschalten oder gestartet wird.

Evtl. könnten Sie vielleicht mit einer neuen VM testen ob die Datei, nach dem Start der VM, überhaupt aktualisiert wird.

Viele Grüße
Ulf Friedel


#3

Hallo,

“normalerweise” übernimmt das die Methode Node.write_novnc_tokens() in univention-virtual-machine-manager-daemon/src/univention/uvmm/node.py.

Ich habe das jetzt nicht im Detail geprüft, aber es sieht so als als würde die Methode bei jedem State-Update aufgerufen. Evtl. kann es evtl. sein dass /tmp und /var/cache auf unterschiedlichen Partitionen liegen? invalid cross-device link

Mit freundlichen Grüßen
Janis Meybohm


#4

Hallo,

Herzlichen Dank für die Antworten!
Im bestehenden Setup liegt /var auf einer eigenen Partition und /tmp in der root-Partition und damit bin ich scheinbar in das invalid cross-device Problem hineingelaufen (sehe die Meldung auch im UVMM-Log).
Hinsichtlich des Patches im Link: gibt es hier schon Informationen wann/ob dieser in ein Update aufgenommen wird? Ich kann den natürlich bei uns in einer Testumgebung testen, allerdings möchte ich nur ungern bei Updates der Systeme Patches nachziehen… Danke.

lg,
René


#5

Hallo,

[quote=“scrat”]Hinsichtlich des Patches im Link: gibt es hier schon Informationen wann/ob dieser in ein Update aufgenommen wird?[/quote]das Problem wird sicherlich in einer Kommenden UCS Version behoben. Ob exakt in der Form wie es der Patch tut und wann, kann ich allerdings nicht sagen. Ich habe auf jeden Fall die Kollegen der Entwicklung informiert das dieses Problem auch bei Ihnen aufgefallen ist.

Mit freundlichen Grüßen
Janis Meybohm


#6

Hallo,

Zur Information:
ich habe den Patch bei uns in der Test- und dann später auch in der Produktivumgebung eingespielt.
Funktioniert problemlos.

lg,
René