Definition
Zweck des Wartungsmodus ist es, das System in einen Zustand zu versetzen, in dem keine störenden Transaktionen von Benutzern oder der Jobsteuerung durchgeführt werden können, welche z.B. den Nuclet-Import / -Export negativ beeinflussen könnten.
Der Wartungsmodus kann über den Nuclos-Client oder alternativ über die REST-Schnittstelle aktiviert / deaktiviert werden.
Sobald das System in den Wartungsmodus versetzt wird, werden alle Benutzer, außer dem Super-User der den Wartungsmodus startet, gezwungen sich auszuloggen. Außerdem wird die Jobsteuerung pausiert. Es ist des Weiteren nicht möglich Dateiimporte auszuführen.
Während der Wartungsmodus aktiv ist kann sich nur der eine Super-User anmelden, der den Wartungsmodus gestartet hat.
Nach Beenden des Wartungsmodus wird die Jobsteuerung fortgesetzt, Dateiimporte sind wieder möglich und Benutzer können sich wieder anmelden.
Verwendung des Wartungsmodus über den Nuclos Web Client
Der Wartungsmodus kann durch Auswahl der Wartungsmodus-Arbeitsumgebung von einem Super-User gestartet werden.
Zum aktivieren des Wartungsmodus auf den Button "Wartungsmodus aktivieren" auswählen.
Verwendung des Wartungsmodus über die REST-Schnittstelle
Die meisten Schnittstellenaufrufe können nur von einem Super-User durchgeführt werden, weshalb zuvor ein Login mit einem Super-User Account durchgeführt werden muss.
In den folgenden Schnittstellenaufrufen wird beispielhaft das Shell-Kommando curl verwendet.
Login
sessionId=`curl http://localhost:8080/nuclos-war/rest/login -X POST -H "Content-Type: application/json" -d '{"username":"nuclos", "password":"", "locale":"en-EN"}'` # Nuclos 4.3 - 4.5: sessionId=`curl http://localhost:8080/nuclos-war/rest -X POST -H "Accept:application/json" -H "Content-Type: application/json" -d '{"username":"nuclos", "password":""}' | awk -v FS="\"" '{ print $4 }'` # Für alle folgenden Aufrufe muss die "sessionId" als Request-Parameter übergeben werden. # ab Nuclos 4.6: curl --cookie-jar cookies.txt http://localhost:8080/nuclos-war/rest -X POST -H "Content-Type: application/json" -d '{"username":"'nuclos'", "password":"''"}'; # Anstatt des "sessionId"-Request-Parameters wird das JSESSIONID Cookie über den Cookiestore verwendet.
Logout
curl http://localhost:8080/nuclos-war/rest/logout?sessionid=$sessionId # Nuclos 4.3 - 4.5: curl http://localhost:8080/nuclos-war/rest?sessionId=$sessionid -X DELETE # ab Nuclos 4.6: curl --cookie-jar cookies.txt http://localhost:8080/nuclos-war/rest -X DELETE
Wartungsmodus initiieren
# bis 4.28 curl --cookie cookies.txt http://localhost:8080/nuclos-war/rest/maintenance/start # ab 4.29 curl --cookie cookies.txt -X PUT "http://localhost:2019/nuclos-war/rest/maintenance/mode" -d on curl --cookie cookies.txt -X PUT "http://localhost:2019/nuclos-war/rest/maintenance/mode?force=true" -d on # es wird nicht darauf gewartet, bis alle Clients abgemeldet sind
Wartungsmodus beenden
# bis 4.28 curl --cookie cookies.txt http://localhost:8080/nuclos-war/rest/maintenance/end # ab 4.29 curl --cookie cookies.txt -X PUT "http://localhost:2019/nuclos-war/rest/maintenance/mode" -d off
Status abfragen
curl --cookie cookies.txt http://localhost:8080/nuclos-war/rest/maintenance/mode
Mögliche Rückgabewerte sind:
off | Der Wartungsmodus ist nicht aktiv. |
initialized | Der Wartungsmodus wird gerade startet. |
on | Der Wartungsmodus ist aktiv. |
Nuclet-Export
Der Local Identifier des Nuclets ist Teil der URL.
curl --cookie -X POST http://localhost:8080/nuclos-war/rest/maintenance/nucletexport/PE4A > ~/temp/nucletexport.nuclet
Nuclet-Import
curl --cookie -F "file=@~/temp/nucletimport.nuclet" "http://localhost:8080/nuclos-war/rest/maintenance/nucletimport"