Zarafa Schema-Problem nach UCS Update auf 4.0.1

Hi,

Siedl Networks hat vor zwei Wochen nun auch intern auf UCS 4 upgedatet. :slight_smile:

Es hat wunderbar funktioniert bis auf eine Kleinigkeit:

Nach dem Update konnten keine Zarafa-User mehr angelegt / verwaltet werden. Daher habe ich die aktuellen Zarafa-Schema-Erweiterungen installiert:

root@backupsrv:~# dpkg -l | grep zarafa4ucs ii zarafa4ucs-schema 7.1.3000-2.75.201410211733 all LDAP schema for the Zarafa4ucs integration ii zarafa4ucs-udm 7.1.3000-2.75.201410211733 all UDM extensions for the Zarafa4ucs integration

Danach ging es jedoch auch nicht.
Das interessante ist, dass die Schemas da sind. Sie können per ldapmodify gesetzt werden. Nur in der UMC kann man sie nicht verwalten.
Wenn man einen neuen Benutzer anlegen will, gibt es auch “Zarafa-Benutzer” nicht zur Auswahl. Es gibt nur den “Zarafa Shared Store”, aber wenn man einen solchen erstellt wird kein Store angelegt.

Hallo,

Schema und UDM-Erweiterungen sind zwei voneinander unabhängige Dinge. Die Schema-Erweiterung wird zwingend benötigt, damit die Werte überhaupt im LDAP gespeichert werden können, die UDM-Erweiterung hingegen sorgt »nur« nur die bequeme Verwaltung via Web oder auf der Kommandozeile mit »udm«. Vermutlich ist Ihnen das schon klar, ich wollt’s nur deutlich benennen.

Wenn das Schema gut funktioniert, UDM aber nicht, dann wirkt es so, als wäre das UDM-Modul nicht anständig registriert. Das geschieht normalerweise bei der Installation des Paketes zarafa4ucs-udm über ein Join-Script. Es kann sein, dass das nicht ausgeführt wurde.

Daher würde ich als erstes probieren, auf dem betroffenen Server »univention-run-join-scripts« erneut auszuführen. Klappt auch das noch nicht, können Sie versuchen, das Paket »zarafa4ucs-udm« einmal zu deinstallieren und danach erneut zu installieren.

Ob das Join-Skript ordentlich ausgeführt wurde, habe ich in der UMC nachgesehen - inzwischen bin ich mir aber nicht mehr so sicher, ob das wirklich passiert.
Übrigens, nicht wundern: unser DC Master heißt backupsrv, da er in der Vergangenheit einmal hochgestuft werden musste. Mir ist erzählt worden, dass so etwa seit dieser Zeit diese Zarafa-Schema-Probleme bei größeren Updates aufgetaucht sind - ob da ein Zusammenhang besteht ist fraglich …

Wenn ich das Zarafa4UCS-UDM-Paket manuell entferne und neu installiere, kann das Joinskript nicht korrekt ausgeführt werden:

root@backupsrv:~# dpkg -i zarafa4ucs-udm_7.1.3000-2.75.201410211733_all.deb 
Vormals nicht ausgewähltes Paket zarafa4ucs-udm wird gewählt.
(Lese Datenbank ... 218474 Dateien und Verzeichnisse sind derzeit installiert.)
Entpacken von zarafa4ucs-udm (aus zarafa4ucs-udm_7.1.3000-2.75.201410211733_all.deb) ...
zarafa4ucs-udm (7.1.3000-2.75.201410211733) wird eingerichtet ...
Calling joinscript 70zarafa4ucs-udm.inst ...
2015-05-04 15:28:02.563374208+02:00 (in joinscript_init)
Joinscript 70zarafa4ucs-udm.inst finished with exitcode 1
Trigger für python-support werden verarbeitet ...[/code]

Wenn ich dann jedoch univention-run-join-scripts ausführe, wird es übersprungen.

[code]Running 70zarafa4ucs-udm.inst                              skipped (already executed)

In der UMC sieht es ebenso unverdächtig aus. (erfolgreich)
Das Skript zur erneuten Ausführung zu zwingen bringt auch nichts.

Wenn man sich dieses Join-Skript genauer ansieht, merkt man, dass es eigentlich gar nichts tut.
JS_LAST_EXECUTED_VERSION ist 3, damit wird der große if-Block nicht ausgeführt.

VERSION=3

. /usr/share/univention-join/joinscripthelper.lib
. /usr/share/univention-lib/all.sh
joinscript_init

eval "$(univention-config-registry shell)"

# test
#univention-directory-manager container/cn remove "$@" --dn "cn=zarafa,cn=custom attributes,cn=univention,$ldap_base"

# modify zarafa broken usertemplate from VERSION=1
if [ $JS_LAST_EXECUTED_VERSION -lt 2 ] && [ $JS_LAST_EXECUTED_VERSION -gt 0 ]; then
        oldHome=$(univention-directory-manager settings/usertemplate list "$@" --filter name="Zarafa Account" | \
                grep unixhome | \
                awk -F ": " '{print $2}'| \
                sed 's|/||g')
        if [ -z "$oldHome" -o "$oldHome" = "home" ]; then
                univention-directory-manager settings/usertemplate modify "$@" --ignore_exists \
                        --dn "cn=Zarafa Account,cn=templates,cn=univention,$ldap_base" \
                        --set unixhome="/home/<username>"
        fi
fi

joinscript_save_current_version

exit 0

Wie oder woher der Exit-Status 1 beim Installieren entsteht und warum in der UMC alles ok aussieht (vom Joinen her zumindest) ist mir noch unklar.

Hier noch ein Auszug aus der Join-Log, wenn ich das eine Skript erneut ausführe:

[code]univention-run-join-scripts started
Mo 4. Mai 16:43:17 CEST 2015

RUNNING 70zarafa4ucs-udm.inst
2015-05-04 16:43:18.560603362+02:00 (in joinscript_init)
2015-05-04 16:43:19.241420309+02:00 (in joinscript_save_current_version)
EXITCODE=0

Mo 4. Mai 16:43:19 CEST 2015
univention-run-join-scripts finished[/code]

Nicht sehr hilfreich. :wink:

Haben Sie schon einmal den UMC-Server neu gestartet? Also

service univention-management-console-server stop sleep 5 service univention-management-console-server start

Ja, natürlich habe ich das schon versucht.
Das hilft nichts.

OK, dann debuggen wir mal, was die UMC überhaupt lädt. Bitte setzen Sie mal die folgende Debug-Variable auf 3 und starten Sie die UMC neu:

ucr set umc/server/debug/level=3 umc/module/debug/level=3 service univention-management-console-server restart

Danach schauen Sie bitte mal in die Datei »/var/log/univention/management-console-server.log«. Sie sollte jede Menge Meldungen beinhalten. Bitte pasten Sie mal alle Meldungen seit dem Restart der UMC.

Danach können Sie das Level beider Variablen wieder auf 2 zurück setzen & die UMC neu starten.

Erstmal vielen Dank für die intensive Unterstützung!

Hier die Ausgabe der Logdatei mit Loglevel 3.
Hier scheint ja die Syntax von zarafa4ucs erfolgreich importiert zu werden …

06.05.15 11:18:23.865  DEBUG_INIT
06.05.15 11:18:23.867  MAIN        ( PROCESS ) : Stopping UMC server ...
06.05.15 11:18:23.867  MAIN        ( PROCESS ) : The UMC server is still running. Will wait for 5 seconds
06.05.15 11:18:23.867  MAIN        ( WARN    ) : Shutting down all open connections
06.05.15 11:18:24.368  MAIN        ( PROCESS ) : Starting UMC server ...
06.05.15 11:18:24.610  ADMIN       ( INFO    ) : admin.syntax.import_syntax_files: importing "/usr/lib/pymodules/python2.7/univention/admin/syntax.d/univention-virtual-machine-manager-schema.py"
06.05.15 11:18:24.613  ADMIN       ( INFO    ) : admin.syntax.import_syntax_files: importing "/usr/lib/pymodules/python2.7/univention/admin/syntax.d/ucc.py"
06.05.15 11:18:24.613  ADMIN       ( INFO    ) : admin.syntax.import_syntax_files: importing "/usr/lib/pymodules/python2.7/univention/admin/syntax.d/__init__.py"
06.05.15 11:18:24.614  ADMIN       ( INFO    ) : admin.syntax.import_syntax_files: importing "/usr/lib/pymodules/python2.7/univention/admin/syntax.d/example.py"
06.05.15 11:18:24.614  ADMIN       ( INFO    ) : admin.syntax.import_syntax_files: importing "/usr/lib/pymodules/python2.7/univention/admin/syntax.d/zarafa4ucs.py"
06.05.15 11:18:24.618  ADMIN       ( INFO    ) : admin.syntax.import_hook_files: importing "/usr/lib/pymodules/python2.7/univention/admin/hooks.d/zarafa4ucsRole.py"
06.05.15 11:18:24.618  ADMIN       ( INFO    ) : admin.syntax.import_hook_files: importing "/usr/lib/pymodules/python2.7/univention/admin/hooks.d/__init__.py"
06.05.15 11:18:24.951  MAIN        ( INFO    ) : Loading resources ...
06.05.15 11:18:24.951  MAIN        ( INFO    ) : Reloading resources: modules, categories
06.05.15 11:18:24.951  RESOURCES   ( INFO    ) : Loading modules ...
06.05.15 11:18:24.953  RESOURCES   ( INFO    ) : Loaded module sysinfo.xml
06.05.15 11:18:24.955  RESOURCES   ( INFO    ) : Loaded module services.xml
06.05.15 11:18:24.956  RESOURCES   ( INFO    ) : Loaded module join.xml
06.05.15 11:18:24.958  RESOURCES   ( INFO    ) : Loaded module printers.xml
06.05.15 11:18:24.959  RESOURCES   ( INFO    ) : Loaded module updater.xml
06.05.15 11:18:24.961  RESOURCES   ( INFO    ) : Loaded module ucr.xml
06.05.15 11:18:24.961  RESOURCES   ( INFO    ) : Loaded module mrtg.xml
06.05.15 11:18:24.962  RESOURCES   ( INFO    ) : Loaded module lib.xml
06.05.15 11:18:24.963  RESOURCES   ( INFO    ) : Loaded module diagnostic.xml
06.05.15 11:18:24.969  RESOURCES   ( INFO    ) : Loaded module udm.xml
06.05.15 11:18:24.970  RESOURCES   ( INFO    ) : Loaded module ipchange.xml
06.05.15 11:18:24.970  RESOURCES   ( INFO    ) : Empty XML file: setup-certificate.xml
06.05.15 11:18:24.971  RESOURCES   ( INFO    ) : Loaded module reboot.xml
06.05.15 11:18:24.972  RESOURCES   ( INFO    ) : Loaded module top.xml
06.05.15 11:18:24.975  RESOURCES   ( INFO    ) : Loaded module appcenter.xml
06.05.15 11:18:24.976  RESOURCES   ( INFO    ) : Loaded module uvmm-cloudconnection.xml
06.05.15 11:18:24.978  RESOURCES   ( INFO    ) : Loaded module apps.xml
06.05.15 11:18:24.979  RESOURCES   ( INFO    ) : Loaded module quota.xml
06.05.15 11:18:24.982  RESOURCES   ( INFO    ) : Loaded module uvmm.xml
06.05.15 11:18:24.985  RESOURCES   ( INFO    ) : Loaded module setup.xml
06.05.15 11:18:24.986  RESOURCES   ( INFO    ) : Loaded module passwordchange.xml
06.05.15 11:18:24.986  RESOURCES   ( INFO    ) : Loading categories ...
06.05.15 11:18:24.987  RESOURCES   ( INFO    ) : Loaded categories from default.xml
06.05.15 11:18:24.988  RESOURCES   ( INFO    ) : Loaded categories from apps.xml
06.05.15 11:18:24.988  RESOURCES   ( INFO    ) : Reloading UCR variables
06.05.15 11:18:25.004  MAIN        ( INFO    ) : Initialising server process
06.05.15 11:18:25.004  MAIN        ( INFO    ) : Using a TCP socket
06.05.15 11:18:25.004  MAIN        ( INFO    ) : Setting up SSL configuration
06.05.15 11:18:25.005  SSL         ( INFO    ) : Server listening to SSL connections
06.05.15 11:18:25.005  MAIN        ( PROCESS ) : Server started

Moin,

anscheinend sind die für die UMC relevanten Dateien nicht im Paket zarafa4ucs-udm enthalten, sondern im Paket zarafa4ucs:

[1 root@master ~] dpkg -L zarafa4ucs|grep management-console /usr/share/univention-management-console-frontend /usr/share/univention-management-console-frontend/js /usr/share/univention-management-console-frontend/js/dijit /usr/share/univention-management-console-frontend/js/dijit/themes /usr/share/univention-management-console-frontend/js/dijit/themes/umc /usr/share/univention-management-console-frontend/js/dijit/themes/umc/icons /usr/share/univention-management-console-frontend/js/dijit/themes/umc/icons/16x16 /usr/share/univention-management-console-frontend/js/dijit/themes/umc/icons/16x16/udm-zarafa-non-active.png /usr/share/univention-management-console-frontend/js/dijit/themes/umc/icons/16x16/udm-zarafa-contact.png /usr/share/univention-management-console-frontend/js/dijit/themes/umc/icons/50x50 /usr/share/univention-management-console-frontend/js/dijit/themes/umc/icons/50x50/udm-zarafa-non-active.png /usr/share/univention-management-console-frontend/js/dijit/themes/umc/icons/50x50/udm-zarafa-contact.png /usr/share/univention-management-console /usr/share/univention-management-console/modules /usr/share/univention-management-console/modules/zarafa.xml

Das glaube ich nicht.

Wenn ich zarafa4ucs installieren will, bekomme ich die Meldung, dass das Paket zarafa, mysql-server, zarafa-licensed und zarafa-webaccess nicht installiert ist - sprich: er will mir das komplette Zarafa installieren; ich will aber nur die Schema-Erweiterung.

[code]root@backupsrv:~/backup_update4/zarafa# dpkg -i zarafa4ucs_7.1.3000-2.75.201410211733_all.deb
Vormals nicht ausgewähltes Paket zarafa4ucs wird gewählt.
(Lese Datenbank … 218484 Dateien und Verzeichnisse sind derzeit installiert.)
Entpacken von zarafa4ucs (aus zarafa4ucs_7.1.3000-2.75.201410211733_all.deb) …
dpkg: Abhängigkeitsprobleme verhindern Konfiguration von zarafa4ucs:
zarafa4ucs hängt ab von zarafa (>= 7.0); aber:
Paket zarafa ist nicht installiert.
zarafa4ucs hängt ab von mysql-server; aber:
Paket mysql-server ist nicht installiert.
Paket mysql-server-5.0, das mysql-server bereitstellt, ist nicht installiert.
zarafa4ucs hängt ab von zarafa-licensed (>= 7.0); aber:
Paket zarafa-licensed ist nicht installiert.
zarafa4ucs hängt ab von zarafa-webaccess (>= 7.0); aber:
Paket zarafa-webaccess ist nicht installiert.

dpkg: Fehler beim Bearbeiten von zarafa4ucs (–install):
Abhängigkeitsprobleme - verbleibt unkonfiguriert
Trigger für univention-config werden verarbeitet …
dpkg-query: Kein Paket gefunden, das auf ldapacl_66univention-appcenter_app.acl passt
Fehler traten auf beim Bearbeiten von:
zarafa4ucs
[/code]

Was mir aufgefallen ist: Am Mailserver selbst war das Schema scheinbar auch nicht richtig installiert. Es war jedenfalls für remove vorgemerkt:

root@mailsrv:~# dpkg -l | grep zarafa4ucs rc zarafa4ucs 7.1.3000-2.75.201410211733 all Zarafa4ucs integration package for Univention Corporate Server ii zarafa4ucs-schema 7.1.3000-2.75.201410211733 all LDAP schema for the Zarafa4ucs integration ii zarafa4ucs-udm 7.1.3000-2.75.201410211733 all UDM extensions for the Zarafa4ucs integration rc zarafa4ucs-webapp 7.1.2000-4.52.201212031705 all Zarafa4ucs zarafa-webapp integration package for Univention Corporate Server

k.A. ob das damit zu tun haben kann.
Eine Nach-Installation hat jedenfalls das Problem nicht gelöst.

Ich bin mir leider ziemlich sicher, dass ich Recht habe. Warum? Weil ich’s vorhin auf einem UCS 4 ausprobiert habe.

[ul][li]Zuerst die Variante, in der alle Pakete installiert sind: Zarafa-Tab ist da.[/li]
[li]Als zweites dann alle Pakete bis auf die zwei zarafa4ucs-udm und zarafa4ucs-schema deinstalliert, danach ein Reboot. Ergebnis: Zarafa-Tab ist NICHT da.[/li]
[li]Nun das Paket zarafa4ucs wieder installiert. Reboot. Zarafa-Tab ist wieder da.[/li][/ul]

Genauer. Das Paket zarafa4ucs benihaltet ein Join-Script »/usr/lib/univention-install/70zarafa4ucs.inst«. Dieses ist dafür verantwortlich, die ganzen Daten erweiterten Attribute (extended attributes) in der UCS-Verwaltung anzulegen. Außerdem ist es dasjenige, das die Vorlagen für neue User registriert. Schauen Sie selber mal rein.

Letztlich scheint es so zu sein, dass zarfa4ucs zwingend auf einem beteiligten UCS-Server installiert sein muss, damit der Tab funktioniert. Alternativ müssten Sie die ganzen Schritte aus dem Join-Script manuell ausführen.

Ich halte diese Verteilung bei den Paketen für ausgesprochen ungüstig, auch und gerade weil es vom kompletten Server abhängt, den man ja aber nicht zwangsläufig auf dem System braucht. Sprich Situationen wie »nur die Verwaltung auf UCS, Zarafa selber auf einem Ubuntu« lassen sich damit nicht ideal abbilden.

So, Problem gelöst.

Ich hatte zarafa4ucs scheinbar am Mailserver selbst nicht korrekt installiert.
Dies habe ich jetzt nachinstalliert und danach am Master das Join-Skript nachgestartet.

Zarafa-Tab ist wieder vollständig da.

Danke für die vielen Hinweise!

Mastodon