Maintenance Mode
Introduction
There are a few things to consider when updating/upgrading Infinite Scale. The major points are; what is maintenance mode, how to initiate it, and what are the user impacts.
|
Backend View
-
The intention for bringing an instance into maintenance mode is to do updates/upgrades or reconfiguration.
-
Maintenance mode should be scheduled only in off-working or off-peak hours.
-
Any necessary reconfigurations/adaptations and tests have been done upfront, most likely with a staging environment. This guarantees short unavailability.
-
To disable ANY access to the instance, you must MANUALLY configure the webserver to respond for incoming traffic with 503 Service Unavailable
. This type of response is important because the webUI and apps have procedures to react properly to this response. In addition, a static html page can be created to show the current state for users trying to login. Such a page is not part of Infinite Scale, independent of it and must be provided by the admin. -
If the instance is up and running again, you must re-enable full access to the instance on the webserver.
User View
Apps
-
Any apps connected will show that Infinite Scale is currently inaccessible (compared to 404, Not Found) and continues to sync automatically if maintenance mode has finished.
webUI
-
The webUI identifies the maintenance mode when the user tries to access a resource and gets back a 503 response.
-
This can be like when trying to open a file, changing a directory, selecting another Space or trying to save an edited file etc.
-
-
Because the user is already logged in, no error page will be shown and any handling is done via the webUI.
-
The 503 response is treated specially and a yellow bar is shown to the user that the instance is in maintenance mode and more info can be requested by clicking on that bar.
-
If the webUI has identified maintenance mode, it regulary checks internally if maintenance mode is still active.
-
If there is a regular response, the yellow bar is automatically removed and the webUI can be used normally again.
-
-
Bearer tokens (authentication) can expire for both the user authentication or the office web app if just in use. This can happen if the maintenance mode takes longer than the tokens auto-expiry and auto-refresh time. In this case, the user must re-login or re-open the office web app. For the latter, changes made might not have been saved and need to be restored from the backup the user hopefully has made as suggested.
Login
-
If a user tries to login during active maintenance mode:
-
He will get an error page, if it was configured.
-
He will get a 503 Service Unavailable response in the browser, if an error page was not configured.
-
-
If an error page has been configured, a check mechanism can be added to identify if maintenance mode is still active, else the user has to retry manually.
-
Such a check can be to internally call the instance URL in intervals like 1min and act differntly if no 503 is responded.
-