Univention Bugzilla – Bug 27753
Fehlerverhalten der Join-Skripte
Last modified: 2012-12-12 21:10:35 CET
Sollte bspw. der LDAP-Server während eines Updates von 2.4 auf 3.0 nicht erreichbar sein, können die mitgebrachten Join-Skripte u.U. nicht ausgeführt werden, und Tracebacks werden ins Log-File geschrieben. Problematisch ist, dass die Join-Skripte als erfolgreich ausgeführt in /var/univention-join/status markiert werden. Gut wäre es Fehler in den Join-Skripten zu erkennen so dass sie zu einem späteren Zeitpunkt mit univention-run-join-scripts noch einmal ausgeführt werden können.
Daszu gibt es diverse weitere Berichte. Wir sollten das mit UCS 3.1 umstellen und in den Joinskripten entsprechend im Fehlerfall abbrechen. Die ähnlichen Berichte schließe ich als Duplikat.
*** Bug 5117 has been marked as a duplicate of this bug. ***
*** Bug 28053 has been marked as a duplicate of this bug. ***
*** Bug 28052 has been marked as a duplicate of this bug. ***
Der joinscripthelper.lib wurde eine Funktion hinzugefügt um ein Joinskript mit dem zuletzt erhaltenen returncode abzubrechen. An allen Joinskripten ist diese Funktion jetzt mit den udm create/modify/remove Aufrufen verbunden, sodass bei einem Fehlschlag das Skript beendet wird ehe es nach /var/univention-join/status schreibt. Ein großer Teil der möglichen Fehler führt daher nun nicht mehr dazu, dass nach /var/univention-join/status geschrieben wird obwohl ein Skript garnicht erfolgreich durchlaufen wurde. Andere Fehlerfälle die jetzt noch nicht zu einem Abbruch der Skripte führen sollten im Laufe der Zeit auch angepasst werden. svn 36177
Durch commit r36177 wurde in univention-lib/shell/umc.sh wird dort zusätzlich /usr/share/univention-join/joinscripthelper.lib eingebunden. Da /usr/share/univention-join/joinscripthelper.lib auch umc.sh einbindet Dadurch wird durch folgende übliche Konstruktion in Join-Scripten dann die Variable JS_LAST_EXECUTED_VERSION mit einem leeren Wert überschrieben, wodurch in der Folge alles mögliche fehlschlägt. ===================================================== . /usr/share/univention-join/joinscripthelper.lib joinscript_init . /usr/share/univention-lib/all.sh ===================================================== Aus den Joinscripten kommen dann Fehlermeldungen der Art: Zeile 44: [: : Ganzzahliger Ausdruck erwartet. und in /var/univention-join/status landen Zeilen ohne Joinscriptname.
joinscripthelper.lib wird in umc.sh nun nicht mehr verwendet. univention-lib (2.0.13-1) unstable; urgency=low * do not use joinscripthelper.lib in umc.sh (Bug #27753) Da aufgrund des zusätzlichen Error Handlings 10univention-ldap-server.inst dennoch fehlschlug wurden folgende Änderungen an dem Join Skript vorgenommen: univention-ldap (9.0.11-1) unstable; urgency=low * ignore existing settings/packages objects in join script 10univention-ldap-server.inst (Bug #27753) univention-ldap (9.0.12-1) unstable; urgency=low * 10univention-ldap-server.inst: ignore existing default network * 10univention-ldap-server.inst: only perform udm commands which need /var/lib/univention-ldap/root.secret if the file exists (Bug #27753) svn 36202, 36204
Beim Bearbeiten von Gruppenmitgliedern wird das --ignore_exists nicht ausgewertet, siehe Bug #28756. Deshalb habe ich das S4 Connector Join Skript noch angepasst.
Installation der unterschiedlichen Systemrollen war erfolgreich. Ein erneutes Joinen ebenfalls.
Die Versionsnummer wurde im letzten Commit von 6.0.9-1 auf 6.0.7-1 verringert. Die Anpassungen sind im Repository befindlichen Paket nicht enthalten → REOPEN
(In reply to comment #10) > Die Versionsnummer wurde im letzten Commit von 6.0.9-1 auf 6.0.7-1 verringert. > Die Anpassungen sind im Repository befindlichen Paket nicht enthalten → REOPEN Betroffen ist das Src-Paket univention-heimdal.
Ich habe die Versionsnummer von "univention-heimdal" korrigiert und das Pakekt neugebaut.
OK, die neue Version ist vorhanden. Installation Master / Backup / Slave war erfolgreich.
UCS 3.1-0 has been released: http://forum.univention.de/viewtopic.php?f=54&t=2125 If this error occurs again, please use "Clone This Bug".