Jupyterhub is running on the login node of our Slurm cluster.
Jupyter server starts (the slurm job runs jupyterhub-singleuser in a compute node), but in the browser only “A Jupyter Server is running” appears.
[I 2024-05-17 14:12:25.851 JupyterHubSingleUser] Starting jupyterhub single-user server extension version 4.1.5
[W 2024-05-17 14:12:25.851 JupyterHubSingleUser] No default url found in config or known extensions, searching other extensions for default_url
[W 2024-05-17 14:12:25.851 JupyterHubSingleUser] Found no extension with a default URL, UI will likely be unavailable
[I 2024-05-17 14:12:25.852 ServerApp] jupyterhub | extension was successfully linked.
/usr/local/envs/python/jupyterhub/4.1.3/lib/python3.11/site-packages/jupyter_server/serverapp.py:2236: JupyterServerAuthWarning: Core endpoints without @allow_unauthenticated, @ws_authenticated, nor @web.authenticated:
- GET of JupyterHubLogoutHandler registered for /user/jupytest/logout
- GET of JupyterHubOAuthCallbackHandler registered for /user/jupytest/oauth_callback
self.web_app = ServerWebApplication(
[I 2024-05-17 14:12:25.874 JupyterHubSingleUser] Updating Hub with activity every 300 seconds
[I 2024-05-17 14:12:25.874 ServerApp] jupyterhub | extension was successfully loaded.
[I 2024-05-17 14:12:25.874 ServerApp] Serving notebooks from local directory: /home/jupytest
[I 2024-05-17 14:12:25.874 ServerApp] Jupyter Server 2.14.0 is running at:
[I 2024-05-17 14:12:25.874 ServerApp] http://c01:36975/user/jupytest/?token=...
[I 2024-05-17 14:12:25.874 ServerApp] http://127.0.0.1:36975/user/jupytest/?token=...
[I 2024-05-17 14:12:25.874 ServerApp] Use Control-C to stop this server and shut down all kernel
ok, it’s definitely not loading any extensions other than jupyterhub. that’s the problem, we just need to figure out why. Do you have disable_user_config set?
I searched for it in jupyterhub_config.py and only found the line commented:
# c.Spawner.disable_user_config = False
I defined a single environment for both jupyterhub and jupyterserver, I am not sure if it would help to setup an independent environment for jupyter singleuser server
If you set c.Spawner.debug = True in the JupyterHub config, single user server logs will contain the current loaded Jupyter Server config. Maybe your single user environment is picking up stale config from somewhere that is preventing the extensions to be loaded.
I see the ServerApp lines in the log of the slurm job, but there is no new info:
[I 2024-05-30 13:16:12.912 ServerApp] jupyterhub | extension was successfully loaded.
[I 2024-05-30 13:16:12.912 ServerApp] Serving notebooks from local directory: /home/jupytest
[I 2024-05-30 13:16:12.912 ServerApp] Jupyter Server 2.14.0 is running at:
[I 2024-05-30 13:16:12.912 ServerApp] http://c01:56217/user/jupytest/lab?token=...
[I 2024-05-30 13:16:12.912 ServerApp] http://127.0.0.1:56217/user/jupytest/lab?token=...
[I 2024-05-30 13:16:12.912 ServerApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[I 2024-05-30 13:16:12.990 ServerApp] 302 GET /user/jupytest/ -> /user/jupytest/lab? (@10.20.81.105) 0.34ms
[I 2024-05-30 13:16:13.404 ServerApp] 302 GET /user/jupytest/?redirects=1 -> /user/jupytest/lab?redirects=1 (@::ffff:10.10.10.101) 0.31ms
(which I find strange, it’s like it is ignoring the changes in the configuration file… though when I change ‘c.Spawner.default_url’ I do see changes from “A server is running” to “Not Found” and viceversa)
Regarding the jupyter user environment, when I configure it to run directly on the main node (skipping the slurm-related spawners, batchspawner and profilespawner) it works… maybe the way it is started by profilespawner is a bit different and causes “A server is running” (instead of actually showing the jupyterserver)
Could you enable debug logging on JupyterHub and post the logs here? In the debug mode, batchspawner should print the env vars set on the single user server.