Bug 25805 - Fehlerbehandlung beim Join-Vorgang
Fehlerbehandlung beim Join-Vorgang
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UMC - Basic settings
UCS 3.0
Other Linux
: P2 normal (vote)
: UCS 3.0-2
Assigned To: Dirk Wiesenthal
Alexander Kläser
: interim-2
: 26723 (view as bug list)
Depends on:
Blocks: 26331 27861
  Show dependency treegraph
 
Reported: 2012-01-10 15:35 CET by Alexander Kläser
Modified: 2012-07-20 15:24 CEST (History)
3 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 Alexander Kläser univentionstaff 2012-01-10 15:35:58 CET
Wird bspw. ein falsches Domänenkonto im System-Setup angegeben, so tritt während des Join-Vorganges ein Fehler auf. Derzeit wird ein solcher Fehler nicht adequat behandelt oder ausgegeben, es ist auch nicht möglich, den Join-Vorgang noch einmal zu wiederholen.
Comment 1 Alexander Kläser univentionstaff 2012-02-29 11:06:58 CET
falsche Credentials können Folgefehler haben, bspw. Bug 26262
Comment 2 Alexander Kläser univentionstaff 2012-03-08 10:08:30 CET
Weiter können folgende Prüfungen durchgeführt werden, um vorab sicher zu stellen, dass der Joinvorgang problemlos ablaufen kann:

* Überprüfung, ob die angegebenen IP-Adressen (oder zumindest die primäre) noch frei sind
* Gleiche Überprüfung für MAC-Adressen
* Überprüfung, ob der Rechnername bereits vergeben wurde
Comment 3 Andreas Büsching univentionstaff 2012-04-05 12:03:52 CEST
Bug #26723 sollte bei der Verbesserung der Fehlerbehandlung ebenfalls betrachtet werden
Comment 4 Alexander Kläser univentionstaff 2012-04-17 11:32:24 CEST
*** Bug 26723 has been marked as a duplicate of this bug. ***
Comment 5 Alexander Kläser univentionstaff 2012-06-25 11:01:12 CEST
Bug 26331 könnte hierbei auch mit berücksichtigt werden.
Comment 6 Alexander Kläser univentionstaff 2012-06-25 14:10:27 CEST
Besser wäre es allerdings, dass die Fehler aus dem Join-Skript entsprechend ausgewertet werden.
Comment 7 Dirk Wiesenthal univentionstaff 2012-06-27 18:47:41 CEST
Fehlermeldungen können ab sofort aus Skripten heraus an den Nutzer weitergeleitet werden. Das passiert jetzt auch beim eigentlichen Join-Skript.

  univention-system-setup (5.0.176-1)

Es wird jedoch im Vornherein kein Sanity-Check gemacht. Der Nutzer bekommt nur die Meldung, dass etwas ziemlich schief gelaufen ist. Ab da muss sich der Administrator drum kümmern.
Comment 8 Dirk Wiesenthal univentionstaff 2012-07-02 15:16:40 CEST
Es ist nun möglich, per Aufruf von progress_join_error in den Konfigurationsskripten dem System mitzuteilen, dass der Join nicht erfolgreich war. In diesem Fall wird der Benutzer gefragt, ob er dennoch weiter machen möchte (also den Wizard beenden und später mit dem "Domain Join"-Modul joinen) oder ob er zurück ins Formular will und es noch einmal probieren (mitsamt User/Password-Frage für den Master).

Die Join-Fehler gab es schon immer, sie wurden ins Log geschrieben. Nur werden sie jetzt darüber hinaus noch ans Frontend weitergereicht und sind nicht deshalb nicht lokalisiert (waren sie in den Logs auch nie). Das ist prinzipiell möglich.

  univention-system-setup 5.0.179-1
Comment 9 Alexander Kläser univentionstaff 2012-07-04 16:07:55 CEST
Noch folgende Probleme sind aufgefallen:

* Liegt die Zeit des zu joinenden nicht-Master-Systems hinter der des Masters (bspw. >30min) und ist die IP-Adresse bereits an einem Rechner im UDM registriert, so wird genau der Join-Fehler verschluckt, da durch die Synchronisierung der CherryPy-Request in ein Timeout läuft.

* Zusätzlich ist es möglich, dass Join-Fehler auf die bisherige Art und Weise verschluckt werden können.

Besprochener Lösungsansatz: alle Fehler werden vom Parser gespeichert und am Ende mit finished=true zurückgegeben. (Die Fehlerausgabe kann dann auch als einfache Liste im Format "<name>: <msg>" ausgegeben werden.)
Comment 10 Alexander Kläser univentionstaff 2012-07-04 16:40:58 CEST
Ich würde bei dem Confirmation-Dialog die Buttons umbenennen:

  Cancel → Reconfigure settings
  Continue → Continue with unjoined system (vielleicht kürzer?)

Bzgl. des Textes:

"The system join was not successful. You may continue and end the wizard leaving the system unjoined; it can be joined later with the dedicated module. Or you may cancel and return to the wizard, change some fields and retry. Details follow."

→ Vorschlag mit leichten Änderungen

"<p>The system join was not successful.</p>
...<err messages>...
<p>You may return, reconfigure the settings, and retry the join process. You may also continue and end the wizard leaving the system <i>unjoined</i>. The system can be joined later via the UMC module "Domain join".</p>"
Comment 11 Alexander Kläser univentionstaff 2012-07-04 17:42:20 CEST
Weitere Vorschläge für Textänderungen:

"The changes could not be applied successfully. Please contact the Administrator. Details follow."
→
"Not all changes could be applied successfully:"

"The system join was not successful. You may continue and end the wizard leaving the system unjoined; it can be joined later with the dedicated module. Or you may cancel and return to the wizard, change some fields and retry. Details follow"
→
"<p>The system join was successful, however, errors occurred while applying the configuration settings:</p>
<errorHTML>
<p>The settings can be changed in the UMC module "Basic settings" after the join process has been completed. Please confirm now to complete the process.</p>"
Comment 12 Dirk Wiesenthal univentionstaff 2012-07-04 20:40:25 CEST
Die Fehler werden jetzt zusätzlich in einer Liste des ProgressStates gespeichert und am Ende noch mal komplett ausgegeben. Damit ist der Fehler hoffentlich behoben. Die Fehlermeldungen wurden angepasst und sind nun deutlicher als Fehler zu erkennen (aber nicht rot...). Bitte noch mal testen, wenn ein System joinen möchte, dessen MAC bereits existiert (zum Beispiel, weil ein gejointes System auf einen alten Sicherungspunkt zurückkehrt).

  univention-system-setup 5.0.183-1
Comment 13 Alexander Kläser univentionstaff 2012-07-05 16:58:25 CEST
(In reply to comment #9)
> Noch folgende Probleme sind aufgefallen:
> 
> * Liegt die Zeit des zu joinenden nicht-Master-Systems hinter der des Masters
> (bspw. >30min) und ist die IP-Adresse bereits an einem Rechner im UDM
> registriert, so wird genau der Join-Fehler verschluckt, da durch die
> Synchronisierung der CherryPy-Request in ein Timeout läuft.
> 
> * Zusätzlich ist es möglich, dass Join-Fehler auf die bisherige Art und Weise
> verschluckt werden können.

Fehlerausgabe → OK

Dialog-Texte → OK

Änderungsvorschlag: "Reconfigure, retry" → "Reconfigure + retry" (oder "and")

Folgender Fehler ist noch aufgefallen: Durch die Änderungen an Bug 7389 funktioniert die Zeile in univention-join, die die Fehlermeldung von univention-server-join parst, nicht mehr wie zuvor:

> res_message=`echo $res | grep uexception | sed -e 's|.*univention.admin.uexceptions.||'g`

Dies hat zur Folge, dass die erste Zeile der Fehlernachricht noch ein Info-Header von univention-server-join ist.
Comment 14 Dirk Wiesenthal univentionstaff 2012-07-05 17:38:46 CEST
Fixed in

  univention-join 4.0.42-1.377.201207051731
Comment 15 Alexander Kläser univentionstaff 2012-07-05 17:55:57 CEST
(In reply to comment #13)
> Änderungsvorschlag: "Reconfigure, retry" → "Reconfigure + retry" (oder "and")

Wurde nicht geändert, aber kann so bleiben.

> Folgender Fehler ist noch aufgefallen: Durch die Änderungen an Bug 7389
> funktioniert die Zeile in univention-join, die die Fehlermeldung von
> univention-server-join parst, nicht mehr wie zuvor:
> 
> > res_message=`echo $res | grep uexception | sed -e 's|.*univention.admin.uexceptions.||'g`
> 
> Dies hat zur Folge, dass die erste Zeile der Fehlernachricht noch ein
> Info-Header von univention-server-join ist.

Der Fehler ist soweit behoben.
Comment 16 Alexander Kläser univentionstaff 2012-07-05 18:22:39 CEST
QA: Alles OK soweit.
Comment 17 Stefan Gohmann univentionstaff 2012-07-20 15:24:36 CEST
UCS 3.0-2 has been released: 
  http://forum.univention.de/viewtopic.php?f=54&t=1905

If this error occurs again, please use "Clone This Bug".