Upgrading Nublado¶
Routine upgrades¶
There is currently a sequencing problem when syncing Nublado. If it is synced in the obvious way, both JupyterHub and the Nublado controller restart at the same time. If JupyterHub comes up first and the Nublado controller is unresponsive, it will decide that all running labs are invalid, making them inaccessible and forcing them to be shut down and respawned.
This is worth avoiding by syncing everything except the nublado-controller
deployment first, and then syncing nublado-controller
once JupyterHub is back up.
This ensures that the Nublado controller is running during the critical startup phase of JupyterHub.
Schema updates¶
Occasionally, new versions of JupyterHub will require a schema update. Automatic schema updates are off by default, so JupyterHub will refuse to start if a database schema update is required.
To enable schema updates, add the following to values-environment.yaml
for the nublado
application:
jupyterhub:
hub:
db:
upgrade: true
(The jupyterhub
and hub
keys probably already exist, so just add the db.upgrade
setting in the correct spot.)
JupyterHub will then automatically upgrade its database when it is restarted running the new version.
You can then this configuration afterwards if you’re worried about applying a schema update without being aware that you’re doing so.
Alternately, for major upgrades to JupyterHub, you can choose to start from an empty database. To do this, follow the instructions in the Nublado documentation on wiping the database.