Bug 22677 - Möglichkeit zum Anzeigen von Statusmeldungen beim Client
Summary: Möglichkeit zum Anzeigen von Statusmeldungen beim Client
Status: CLOSED FIXED
Alias: None
Product: Z_UCS DVS
Classification: Unclassified
Component: DVS Sessions
Version: UCS DVS 1.0
Hardware: Other Linux
: P5 normal
Target Milestone: UCS DVS 1.0
Assignee: Stefan Gohmann
QA Contact: Felix Botner
URL:
Keywords:
Depends on:
Blocks: 22416
  Show dependency treegraph
 
Reported: 2011-06-08 09:34 CEST by Philipp Hahn
Modified: 2023-03-25 06:42 CET (History)
2 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):
Customer ID:
Max CVSS v3 score:


Attachments
uvmm, dvs sb logs und xsession-errors (89.38 KB, application/x-bzip)
2011-06-17 16:40 CEST, Felix Botner
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Philipp Hahn univentionstaff 2011-06-08 09:34:56 CEST
+++ This bug was initially created as a clone of Bug #22416 +++

Im Failover-Fall muß das alte Image kopiert werden, wenn der aktuelle Server wegen Netzwerkproblemen nicht mehr erreichbar ist. Dieser Vorgang kann längere Zeit dauern. Dem Benutzer soll dieser Vorgang im Client angezeigt werden, damit er weiß, warum es gerade nicht weiter geht.

Der SB wird dazu so umgebaut, daß er nach dem 1. /connect zunächst ein /select zwischenschiebt, bevor er danach das alte /alive versendet, bis per /close die Sitzung geschlossen wird. Ursprünglich war das /connect dazu vorgesehen, auch einen Rückkanal von SB zum Client per HTTP-Long-Time-Poll zu realisieren, was aber derzeit nicht genutzt wird. Das neue /select verwendet die gleiche Technik und liefert solange weitere Statusmeldungen, bis die VM läuft (oder endgültig nicht gestartet werden kann). Entsprechender Code ist im Client bereits vorhanden (→HTTP11_streaming_client), der dann wahrscheinlich aber noch angepasst werden muß.

Zunächst muß der PyQT-Client aber so erweitert werden, das er nach der Auswahl einer VM statt dem parametrisierten /alive?hostname=...&... ein /select an den SB versendet und danach dessen Antwort auswertet und dann die dort mitgelieferte Nachricht samt Fortschrittsanzeige anzeigt. Ggf. ist hier ein Cancel/Abbrechen-Button sinnvoll.

Das ganze muß unter Windows (rdp) und Linux (x2go) funktionieren.
Comment 1 Stefan Gohmann univentionstaff 2011-06-09 08:41:48 CEST
Benutzername und Passwort Felder beim QT Fenster sind jetzt bündig ausgerichtet.
Comment 2 Philipp Hahn univentionstaff 2011-06-09 14:06:40 CEST
/select und /alive wurden getrennt: svn24810, univention-dvs-sessionbroker_1.0.148-1
Comment 3 Stefan Gohmann univentionstaff 2011-06-15 09:56:10 CEST
Eine erste Version ist umgesetzt. Die Übersetzungen macht Arvid: Bug #22725.
Comment 4 Felix Botner univentionstaff 2011-06-16 17:39:21 CEST
OK, ProgressBar wird beim Failover bzw. beim Start der Instanz angezeigt.
Comment 5 Stefan Gohmann univentionstaff 2011-06-17 13:29:35 CEST
Ich habe nochmal kleine Änderungen machen müssen. Bei der DVS Anmeldung von einem Thin Client, an einem Windows 7 Client ist gelegentlich der Session Broker Client abgestürzt, wenn die Desktop Instanz neu gestartet ist.
Es sieht so aus, dass mindestens ein tcp-Check nicht durch geht während der Anmeldung. Es wird jetzt abgebrochen, wenn drei Checks erfolglos waren.
Comment 6 Felix Botner univentionstaff 2011-06-17 16:40:41 CEST
Created attachment 3332 [details]
uvmm, dvs sb logs und xsession-errors

Hier ist noch irgendetwas durcheinander. Ich habe einen DVS Node mit laufender Session das Netzwerk weggenommen, dann am Client neu angemeldet. Das Image wurde kopiert und eine neuen Instanz auf dem noch verfügbarem DVS Node angelegt. Der Client hat aber nach einer Weile wieder den GDM Login angezeigt. 

Auffällig:

   * Internal error: need more than 1 value to unpack in xsessions-errors
   * anscheinend werden mehrere Session gestartet (3 connects in SB Log),
     angemeldet habe ich mich aber nur einmal
Comment 7 Stefan Gohmann univentionstaff 2011-06-20 08:04:34 CEST
Ich habe nochmal mehr Debug eingebaut. Bitte nochmal reproduzieren.

Für mich sieht der Ablauf wie folgt aus:

- 15:47: connect als Benutzer felix, ID=5ce9be0f-98e8-11e0-a65f-5254005ce5a7

- 15:47: xen16 ist nicht erreichbar, auf dem Rechner hätte der Desktop gestartet werden sollen. Allerdings wurde um 15:13 die Instanz auf xen15 pausiert. Hast du die manuell verschoben?

- 15:47: Da xen16 nicht erreichbar ist, wird der Desktop auf xen15 kopiert

- 15:48: Desktop wird auf xen15 gestartet

- 15:48: Erste Alive Events vom Client kommen an

- 15:50: Der Client sendet ein connect, daraufhin startet der Session Broker eine neue Session, ID=d4b2865c-98e8-11e0-b8d8-5254005ce5a7

Das wiederholt sich dann und um 15:52 wird eine erneute Session mit der ID 191eace3-98e9-11e0-a01b-5254005ce5a7 gestartet. In der xession-errors ist allerdings nur diese Session-ID aufgeführt.

Bist du dir sicher, dass im Hintergrund nicht noch andere Clients liefen?
Comment 8 Stefan Gohmann univentionstaff 2011-06-20 17:04:23 CEST
Die GUI ist jetzt umgesetzt. Es wurden noch Timeouts erhöht. Teilweise gab es den Fall, dass die alte Windows Instanz mit gleicher MAC und gleicher IP auf dem ausgefallenen System erreichbar war.
Comment 9 Felix Botner univentionstaff 2011-06-21 11:12:44 CEST
ok, ich konnte keinen RDP Timeout mehr reproduzieren.