Copyright ©
Mindbreeze GmbH, A-4020 Linz, 2024.
Alle Rechte vorbehalten. Alle verwendeten Hard- und Softwarenamen sind Handelsnamen und/oder Marken der jeweiligen Hersteller.
Diese Unterlagen sind streng vertraulich. Durch die Übermittlung und Präsentation dieser Unterlagen alleine werden keine Rechte an unserer Software, an unseren Dienstleistungen und Dienstleistungsresultaten oder sonstigen geschützten Rechten begründet. Die Weitergabe, Veröffentlichung oder Vervielfältigung ist nicht gestattet.
Aus Gründen der einfacheren Lesbarkeit wird auf die geschlechtsspezifische Differenzierung, z.B. Benutzer/-innen, verzichtet. Entsprechende Begriffe gelten im Sinne der Gleichbehandlung grundsätzlich für beide Geschlechter.
Um eine angenehme und unkomplizierte Aktualisierung der Version sicher zu stellen, sollte im Normalfall, jedes neu erschienene Update installiert und so wenig wie möglich bis kaum überspringen werden.
Auch sollten im verteilten Betrieb Downgrades sowie ein Mischbetrieb von Versionen vermieden werden.
Falls diese Punkte nicht eingehalten werden, können Fehler in speziellen Situationen für bestimmte Versionen auftreten, die man manuell beheben muss.
Dieses Dokument beschreibt welche Fehler in diesen speziellen Situationen auftreten können und wie man diese beheben kann.
Hinweis:
Vor einem Update oder Downgrade muss eine vollständige Sicherung durchgeführt werden. Eine Anleitung dazu finden Sie hier.
Falls auf dem Host manuell eingerichtete Cron-Jobs (nicht empfohlen) vorhanden sind, sollten Kunden vor dem Update auf 21.3 den Mindbreeze Support kontaktieren.
Ein direktes Update wird nicht unterstützt. Bitte aktualisieren Sie zuerst auf die Version 21.3 und dann erst auf 22.3 oder neuer.
Wenn das Update auf von einer Version vor 21.3 bereits ausgeführt wurde und der inspire Container nicht funktioniert, führen Sie bitte die folgenden Befehle aus:
docker exec -it inspire-system-loader inspire-systemloader update
docker exec -it inspire-system-manager inspire-systemmanager image update CoreOS
reboot
Falls Mindbreeze InSpire noch mit Version 18.0 oder älter betrieben wird, und Sie auf Version 21.3 oder neuer updaten möchten, können Sie nicht direkt auf 21.3 updaten, sondern müssen zuerst auf 18.1 updaten und anschließend auf 21.3 oder neuer.
Falls Sie beim Update folgende Fehlermeldung erhalten:
Kann eine mögliche Ursache dieses Fehlers in fehlende oder fehlerhafte Konfigurationsdateien liegen.
Prüfen Sie daher die Datei /var/data/keycloak/config/keycloak_h2_db_name. Mit Version 20.3 oder älter soll die Datei den Inhalt keycloak_4_6_0 haben. Mit Version 20.4 oder neuer soll die Datei den Inhalt keycloak_10_0_2 haben.
Falls die Datei fehlt oder der Inhalt nicht übereinstimmt, korrigieren Sie dies und starten Sie das Update erneut. Der Fehler sollte nun behoben sein.
Falls Sie sich in einer älteren Version als 21.2 HF2 befinden und zusätzlich folgende zwei Punkte für Ihre Umgebung zutreffen:
Führen Sie bitte ein Update auf Version 21.3 oder neuer durch.
Falls noch zusätzlich die Benachrichtigungen in mindestens einem Client Service aktiviert sind, melden Sie sich bitte beim Support, um eine reibungslose Aktualisierung zu gewährleisten.
Hinweis: Bei einem Update auf eine 21.2 HF Version ist in diesem Fall ein sequenzielles Update nicht ohne weiteres möglich.
Bei Updates von Version 22.2 HF2 auf eine beliebige andere Version kann folgende Fehlermeldung im Update-Log aufscheinen:
Could not execute update with exception: out of pty devices
Um das Update erfolgreich starten zu können, muss in diesem Fall entwender:
Aufgrund desselben Problems kann es zu folgender Fehlermeldung beim Auführen von docker exec kommen:
OCI runtime exec failed: exec failed: unable to start container process: open /dev/pts/1: operation not permitted: unknown
Folgende Möglichkeiten sind verfügbar:
Hinweis: Um Komplikationen beim Update zu vermeiden, wird es nicht empfohlen nicht persistierte Änderungen (z.B.: individuell hinzugefügte vertrauenswürdige SSL Zertifikate zum JVM-Keystore) im Keycloak-Container zu machen.
Im Keycloak-Container sind nur die Verzeichnisse /config, /opt/keycloak/data (vor Mindbreeze Inspire 23.3 /opt/jboss/keycloak/data) und /opt/keycloak/log (vor 23.3 /opt/jboss/keycloak/log) persistiert, jegliche Änderungen in anderen Verzeichnissen und Dateien gehen bei einem Update verloren und müssen manuell nachgezogen werden!
Wenn individuell vertrauenswürde SSL Zertifikate zum JVM-Keystore hinzugefügt wurden, um z.B. User Federation mit einem System, welches ein Self-Signed Zertifikat hat, zu ermöglichen, wird ein Update nicht möglich sein.
Um das Update zu ermöglichen müssen zuerst (vor dem Beginn des Updates) manuell alle User Federation Provider und Identity Provider, welche sich auf die hinzugefügten SSL Zertifikate verlassen, deaktiviert werden (Vergewissern Sie sich vor der Deaktivierung, dass Sie auch einen Admin-Benutzer haben, der in Keycloak gespeichert ist und nicht über die User Federation importiert wird - falls dies nicht der Fall ist, erstellen Sie einen). Dies kann man im MMC im Tab Setup > Credentials gemacht werden. Dazu einfach in den Tabs „User Federation“ und „Identity Providers“ alle nötigen Provider heraussuchen und in den Einstellungen deaktivieren.
Danach kann das Update erfolgen. Sobald das Update abgeschlossen ist, muss das Zertifikat im Keycloak Container wieder zum JVM-Keystore hinzugefügt werden. Dazu müssen folgende Befehle, im Keycloak Container, ausgeführt werden:
# <path_to_certificate> ist der Pfad zum Zertifikat – der Pfad muss also
# vom Container aus erreichbar sein
cp <path_to_certificate> /etc/pki/ca-trust/source/anchors
update-ca-trust extract
Danach muss der Docker Container neugestartet werden (docker restart keycloak) um die Änderungen im Keystore wahrzunehmen. Nach dem Neustart kann man wieder alle Provider aktivieren.
Hinweis:
Vor einem Update oder Downgrade muss eine vollständige Sicherung durchgeführt werden. Eine Anleitung dazu finden Sie hier.
Grundsätzlich unterscheidet man bei Downgrades zwischen zwei unterschiedlichen Fällen:
Beim Downgrade auf einige ältere Versionen ist eine Beibehaltung aller Keycloak-Daten nicht möglich. Dies betrifft beispielsweise zusätzlich angelegte Clients, Synchronisierte Benutzer, angepasste User Role Mappings.
Das heißt, beispielweise werden bei einem Downgrade von 20.4 auf 20.3 nicht alle Keycloak-Daten beibehalten, wo hingegen bei einem Downgrade von 20.3 auf 20.2 die Keycloak-Daten beibehalten werden.
Das heißt falls ein Downgrade auf die genannten Versionen durchgeführt werden soll, müssen die Keycloak-Änderungen nach dem Downgrade manuell nachgetragen werden.
Die Keycloak-Daten sind unter anderem in Datenbank-Dateien im Verzeichnis /var/data/keycloak/data/data/ gespeichert. Die Datenbank-Dateien beinhalten die Keycloak-Version im Dateinamen.
Folgende Abschnitte beschreiben die Schritte, die in den jeweiligen Downgrade-Fällen zu tun sind:
Damit ist auch in diesem Fall das Downgrade aus Sicht von Keycloak abgeschlossen.
Nach einem Downgrade von Version 21.3 auf 21.2 können Credentials nicht mehr geladen werden, es werden entsprechende Fehlermeldungen im Log angezeigt und betroffene Services starten nicht mehr. Beispiel für diesen Fehler im Log:
/opt/mindbreeze/bin/mesmaster.exe[245]: 2021-12-13 17:53:19,109 [Threadpool worker] ERROR: Failed to load build-in credentials store file /etc/mindbreeze/builtincredentials.proto
Um dieses Problem zu beheben müssen folgende Schritte auf der Kommandozeile durchgeführt werden: