nach dem Update auf UCS 4.0 haben wir erneut einen Fehler gefunden. Das Appcenter steht auf unserem Domain Master nicht zur Verfügung. Im Log ist folgendes zu finden:
Last login: Tue Dec 2 13:19:36 2014 from egal woherroot@mars:~# vi /var/log/univention/management-console-module-appcenter.log
30.11.14 10:51:01.232 DEBUG_ceback (most recent call last):
File "/usr/lib/pymodules/python2.7/univention/management/console/protocol/modserver.py", line 99, in _load_module
self.__module = __import__(file_, [], [], modname)
File "/usr/lib/pymodules/python2.7/univention/management/console/modules/appcenter/__init__.py", line 59, in <module>
from app_center import Application, LICENSE
File "/usr/lib/pymodules/python2.7/univention/management/console/modules/appcenter/app_center.py", line 75, in <module>
import univention.admin.handlers.appcenter.app as appcenter_udm_module
ImportError: No module named appcenter.app
ich habe keine 100%-ige Reproduktion, aber einen möglichen Lösungsansatz.
Die Fehlermeldung meint, das auf dem System entweder /usr/lib/pymodules/python2.7/univention/admin/handlers/appcenter/app.py oder dessen Kompilat nicht vorhanden (oder veraltet?) ist.
Meine Repro sah jetzt so aus, dass ich einfach mal die in Frage kommenden Dateien gelöscht und das AppCenter aufgerufen habe. Der Fehler war ähnlich.
Im Normalfall wird der Symlink wohl während der Paketinstallation erstellt. U.U. kann man das manuell zurechtbiegen. Empfehlenswert wäre aber, die Ursache zu ergründen. /var/log/apt/term.log könnte dazu Informationen liefern.
vorab die Bitte, wegen der besseren Lesbarkeit für Log-Schnipsel die “Code”-Blöcke zu nehmen.
Bei näherer Betrachtung des Paketes “univention-management-console-module-appcenter” habe ich festgestellt, dass der Symlink und die pyc/pyo-Instanzen wohl doch erst durch das Join-Skript “35univention-management-console-module-appcenter.inst” erzeugt werden. Es wäre also erstmal zu prüfen, was univention-check-join-status sagt oder ob etwas zielführendes im join.log steht.
Danke für den Hinweis. Laut Join Status sind alle Komponenten gejoined (Ich liebe denglisch). Das Join Log schicke ich der Einfachheit halber per PM an dich.
Disclaimer: Ich bin mir im Moment nicht mehr sicher, ob das Folgende ein böser Hack oder sinnvolles Vorgehen ist. Im Zweifel ein paar Stunden warten, ob jemand Veto einlegt…
In /var/univention-join/status stehen die abgearbeiten Join-Skripte. Wenn man da eine Zeile löscht (hier “univention-management-console-module-appcenter…”), wird das entsprechende Skript beim nächsten “univention-run-join-scripts” ausgeführt. Im Normalfall, dachte ich, sind die Skripte so ausgelegt, dass bei einem erneuten Aufruf zumindest kein Schaden angerichtet wird. Ich hab das auf 2 Systemen probiert, einmal auch mit Löschen der app.pyc. Das AppCenter geht noch/wieder.
Die Zeile mit dem AppCenter ist bei mir 2 mal im Join Status vorhanden. v7 und v8. Beide gelöscht und join erneut ausgeführt -> tadaa! AppCenter geht wieder. Vielen herzlichen Dank für die kompetente Hilfe! Jetzt noch der Grund für das Problem und ich kann ruhig schlafen