Univention Bugzilla – Bug 25805
Fehlerbehandlung beim Join-Vorgang
Last modified: 2012-07-20 15:24:36 CEST
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.
falsche Credentials können Folgefehler haben, bspw. Bug 26262
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
Bug #26723 sollte bei der Verbesserung der Fehlerbehandlung ebenfalls betrachtet werden
*** Bug 26723 has been marked as a duplicate of this bug. ***
Bug 26331 könnte hierbei auch mit berücksichtigt werden.
Besser wäre es allerdings, dass die Fehler aus dem Join-Skript entsprechend ausgewertet werden.
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.
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
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.)
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>"
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>"
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
(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.
Fixed in univention-join 4.0.42-1.377.201207051731
(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.
QA: Alles OK soweit.
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".