Sure, I will use the test enviroment since the issue and behaviour is the same but much more minimal and easy to troubleshoot. In my test enviroment, I only did part 1 and installed jupyterhub according to these instructions: Install JupyterHub and JupyterLab from the ground up — JupyterHub 1.2.0 documentation
For starting juptyerhub, I run the command sudo /opt/jupyterhub/bin/jupyterhub --debug -f /opt/jupyterhub/etc/jupyterhub/jupyterhub_config.py
Output of the jupyerhub in debug mode:
sudo /opt/jupyterhub/bin/jupyterhub --debug -f /opt/jupyterhub/etc/jupyterhub/jupyterhub_config.py
[D 2025-05-23 07:18:25.983 JupyterHub application:908] Looking for /opt/jupyterhub/etc/jupyterhub/jupyterhub_config in /home/niceguy
[D 2025-05-23 07:18:25.983 JupyterHub application:929] Loaded config file: /opt/jupyterhub/etc/jupyterhub/jupyterhub_config.py
[I 2025-05-23 07:18:25.990 JupyterHub app:3354] Running JupyterHub version 5.3.0
[I 2025-05-23 07:18:25.990 JupyterHub app:3384] Using Authenticator: jupyterhub.auth.DummyAuthenticator-5.3.0
[I 2025-05-23 07:18:25.990 JupyterHub app:3384] Using Spawner: dockerspawner.swarmspawner.SwarmSpawner-14.0.0
[I 2025-05-23 07:18:25.990 JupyterHub app:3384] Using Proxy: jupyterhub.proxy.ConfigurableHTTPProxy-5.3.0
/opt/jupyterhub/lib/python3.12/site-packages/jupyter_events/schema.py:68: JupyterEventsVersionWarning: The `version` property of an event schema must be a string. It has been type coerced, but in a future version of this library, it will fail to validate. Please update schema: https://schema.jupyter.org/jupyterhub/events/server-action
validate_schema(_schema)
[D 2025-05-23 07:18:25.993 JupyterHub app:3314] Could not load pycurl: No module named 'pycurl'
pycurl is recommended if you have a large number of users.
[I 2025-05-23 07:18:25.993 JupyterHub app:1835] Loading cookie_secret from /home/niceguy/jupyterhub_cookie_secret
[D 2025-05-23 07:18:25.994 JupyterHub app:2006] Connecting to db: sqlite:///jupyterhub.sqlite
[D 2025-05-23 07:18:26.014 JupyterHub orm:1509] database schema version found: 4621fec11365
[I 2025-05-23 07:18:26.047 JupyterHub proxy:556] Generating new CONFIGPROXY_AUTH_TOKEN
[D 2025-05-23 07:18:26.047 JupyterHub app:2346] Loading roles into database
[W 2025-05-23 07:18:26.051 JupyterHub auth:1522] Using testing authenticator DummyAuthenticator! This is not meant for production!
[D 2025-05-23 07:18:26.058 JupyterHub app:2693] Purging expired APITokens
[D 2025-05-23 07:18:26.059 JupyterHub app:2693] Purging expired OAuthCodes
[D 2025-05-23 07:18:26.060 JupyterHub app:2693] Purging expired Shares
[D 2025-05-23 07:18:26.060 JupyterHub app:2693] Purging expired ShareCodes
[D 2025-05-23 07:18:26.061 JupyterHub app:2467] Loading role assignments from config
[D 2025-05-23 07:18:26.070 JupyterHub app:2978] Initializing spawners
[D 2025-05-23 07:18:26.075 JupyterHub app:3128] Loaded users:
[I 2025-05-23 07:18:26.075 JupyterHub app:3424] Initialized 0 spawners in 0.005 seconds
[I 2025-05-23 07:18:26.078 JupyterHub metrics:425] Found 2 active users in the last ActiveUserPeriods.twenty_four_hours
[I 2025-05-23 07:18:26.079 JupyterHub metrics:425] Found 2 active users in the last ActiveUserPeriods.seven_days
[I 2025-05-23 07:18:26.079 JupyterHub metrics:425] Found 2 active users in the last ActiveUserPeriods.thirty_days
[W 2025-05-23 07:18:26.079 JupyterHub proxy:748] Running JupyterHub without SSL. I hope there is SSL termination happening somewhere else...
[I 2025-05-23 07:18:26.079 JupyterHub proxy:752] Starting proxy @ http://:8000
[D 2025-05-23 07:18:26.079 JupyterHub proxy:753] Proxy cmd: ['configurable-http-proxy', '--ip', '', '--port', '8000', '--api-ip', '192.168.10.10', '--api-port', '8001', '--error-target', 'http://192.168.10.10:8081/hub/error', '--log-level', 'debug']
[D 2025-05-23 07:18:26.082 JupyterHub proxy:670] Writing proxy pid file: jupyterhub-proxy.pid
[D 2025-05-23 07:18:26.083 JupyterHub utils:277] Waiting 10s for server at master:8000
[D 2025-05-23 07:18:26.083 JupyterHub utils:121] Server at master:8000 not ready: [Errno 111] Connection refused
[D 2025-05-23 07:18:26.083 JupyterHub utils:277] Waiting 10s for server at 192.168.10.10:8001
[D 2025-05-23 07:18:26.083 JupyterHub utils:121] Server at 192.168.10.10:8001 not ready: [Errno 111] Connection refused
[D 2025-05-23 07:18:26.240 JupyterHub utils:121] Server at 192.168.10.10:8001 not ready: [Errno 111] Connection refused
[D 2025-05-23 07:18:26.274 JupyterHub utils:121] Server at master:8000 not ready: [Errno 111] Connection refused
[D 2025-05-23 07:18:26.343 JupyterHub utils:121] Server at master:8000 not ready: [Errno 111] Connection refused
2025-05-23T07:18:26.439Z [ConfigProxy] info: Proxying http://*:8000 to (no default)
2025-05-23T07:18:26.440Z [ConfigProxy] info: Proxy API at http://192.168.10.10:8001/api/routes
[D 2025-05-23 07:18:26.620 JupyterHub utils:285] Server at 192.168.10.10:8001 responded in 0.54s
[D 2025-05-23 07:18:27.040 JupyterHub utils:285] Server at master:8000 responded in 0.96s
[D 2025-05-23 07:18:27.040 JupyterHub proxy:832] Proxy started and appears to be up
[D 2025-05-23 07:18:27.055 JupyterHub proxy:925] Proxy: Fetching GET http://192.168.10.10:8001/api/routes
2025-05-23T07:18:27.070Z [ConfigProxy] info: 200 GET /api/routes
[I 2025-05-23 07:18:27.071 JupyterHub app:3747] Hub API listening on http://192.168.10.10:8081/hub/
[D 2025-05-23 07:18:27.071 JupyterHub proxy:389] Fetching routes to check
[D 2025-05-23 07:18:27.071 JupyterHub proxy:925] Proxy: Fetching GET http://192.168.10.10:8001/api/routes
2025-05-23T07:18:27.073Z [ConfigProxy] info: 200 GET /api/routes
[D 2025-05-23 07:18:27.073 JupyterHub proxy:392] Checking routes
[I 2025-05-23 07:18:27.073 JupyterHub proxy:477] Adding route for Hub: / => http://192.168.10.10:8081
[D 2025-05-23 07:18:27.074 JupyterHub proxy:925] Proxy: Fetching POST http://192.168.10.10:8001/api/routes/
2025-05-23T07:18:27.075Z [ConfigProxy] info: Adding route / -> http://192.168.10.10:8081
2025-05-23T07:18:27.075Z [ConfigProxy] info: Route added / -> http://192.168.10.10:8081
2025-05-23T07:18:27.075Z [ConfigProxy] info: 201 POST /api/routes/
[I 2025-05-23 07:18:27.076 JupyterHub app:3778] JupyterHub is now running at http://:8000
[D 2025-05-23 07:18:27.076 JupyterHub app:3347] It took 1.096 seconds for the Hub to start
2025-05-23T07:19:36.658Z [ConfigProxy] debug: PROXY WEB / to http://192.168.10.10:8081
[I 2025-05-23 07:19:36.668 JupyterHub log:192] 302 GET / -> /hub/ (@::ffff:10.0.2.2) 0.43ms
2025-05-23T07:19:36.670Z [ConfigProxy] debug: Not recording activity for status 302 on /
2025-05-23T07:19:36.672Z [ConfigProxy] debug: PROXY WEB /hub/ to http://192.168.10.10:8081
[D 2025-05-23 07:19:36.703 JupyterHub base:411] Refreshing auth for test
[D 2025-05-23 07:19:36.703 JupyterHub user:496] Creating <class 'dockerspawner.swarmspawner.SwarmSpawner'> for test:
[I 2025-05-23 07:19:36.704 JupyterHub log:192] 302 GET /hub/ -> /hub/spawn (test@::ffff:10.0.2.2) 30.79ms
2025-05-23T07:19:36.706Z [ConfigProxy] debug: Not recording activity for status 302 on /
2025-05-23T07:19:36.711Z [ConfigProxy] debug: PROXY WEB /hub/spawn to http://192.168.10.10:8081
[D 2025-05-23 07:19:36.716 JupyterHub scopes:1013] Checking access to /hub/spawn via scope servers!server=test/
[D 2025-05-23 07:19:36.717 JupyterHub pages:216] Triggering spawn with default options for test
[D 2025-05-23 07:19:36.717 JupyterHub base:1097] Initiating spawn for test
[D 2025-05-23 07:19:36.717 JupyterHub base:1101] 0/100 concurrent spawns
[D 2025-05-23 07:19:36.717 JupyterHub base:1106] 0 active servers
[I 2025-05-23 07:19:36.737 JupyterHub provider:661] Creating oauth client jupyterhub-user-test
[D 2025-05-23 07:19:36.755 JupyterHub user:913] Calling Spawner.start for test
[D 2025-05-23 07:19:36.756 JupyterHub dockerspawner:1254] Skipping pull of euclid_nvidiatorch:latest
[D 2025-05-23 07:19:36.756 JupyterHub dockerspawner:1034] Getting service 'jupyter-test'
[I 2025-05-23 07:19:36.770 JupyterHub dockerspawner:1040] Service 'jupyter-test' is gone
[I 2025-05-23 07:19:36.780 JupyterHub dockerspawner:1318] Created service jupyter-test (id: kvr99k7) from image euclid_nvidiatorch:latest
[I 2025-05-23 07:19:36.780 JupyterHub dockerspawner:1342] Starting service jupyter-test (id: kvr99k7)
[D 2025-05-23 07:19:36.780 JupyterHub swarmspawner:156] Getting task of service 'jupyter-test'
[D 2025-05-23 07:19:36.780 JupyterHub dockerspawner:1034] Getting service 'jupyter-test'
[D 2025-05-23 07:19:36.786 JupyterHub swarmspawner:281] Service kvr99k7 state: pending
[I 2025-05-23 07:19:37.718 JupyterHub log:192] 302 GET /hub/spawn -> /hub/spawn-pending/test (test@::ffff:10.0.2.2) 1005.41ms
2025-05-23T07:19:37.719Z [ConfigProxy] debug: Not recording activity for status 302 on /
2025-05-23T07:19:37.722Z [ConfigProxy] debug: PROXY WEB /hub/spawn-pending/test to http://192.168.10.10:8081
[D 2025-05-23 07:19:37.727 JupyterHub scopes:1013] Checking access to /hub/spawn-pending/test via scope servers!server=test/
[I 2025-05-23 07:19:37.727 JupyterHub pages:400] test is pending spawn
[I 2025-05-23 07:19:37.754 JupyterHub log:192] 200 GET /hub/spawn-pending/test (test@::ffff:10.0.2.2) 30.79ms
2025-05-23T07:19:37.782Z [ConfigProxy] debug: PROXY WEB /hub/logo to http://192.168.10.10:8081
[D 2025-05-23 07:19:37.789 JupyterHub log:192] 200 GET /hub/logo (@::ffff:10.0.2.2) 4.79ms
[D 2025-05-23 07:19:37.789 JupyterHub swarmspawner:156] Getting task of service 'jupyter-test'
[D 2025-05-23 07:19:37.790 JupyterHub dockerspawner:1034] Getting service 'jupyter-test'
[D 2025-05-23 07:19:37.796 JupyterHub swarmspawner:281] Service kvr99k7 state: preparing
2025-05-23T07:19:37.919Z [ConfigProxy] debug: PROXY WEB /hub/static/components/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2 to http://192.168.10.10:8081
2025-05-23T07:19:37.932Z [ConfigProxy] debug: PROXY WEB /hub/api/users/test/server/progress to http://192.168.10.10:8081
[D 2025-05-23 07:19:37.936 JupyterHub log:192] 200 GET /hub/static/components/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2 (@::ffff:10.0.2.2) 15.70ms
[D 2025-05-23 07:19:37.941 JupyterHub scopes:1013] Checking access to /hub/api/users/test/server/progress via scope read:servers!server=test/
2025-05-23T07:19:38.040Z [ConfigProxy] debug: PROXY WEB /hub/static/favicon.ico to http://192.168.10.10:8081
[D 2025-05-23 07:19:38.043 JupyterHub log:192] 200 GET /hub/static/favicon.ico?v=fde5757cd3892b979919d3b1faa88a410f28829feb5ba22b6cf069f2c6c98675fceef90f932e49b510e74d65c681d5846b943e7f7cc1b41867422f0481085c1f (@::ffff:10.0.2.2) 0.82ms
[D 2025-05-23 07:19:39.298 JupyterHub swarmspawner:156] Getting task of service 'jupyter-test'
[D 2025-05-23 07:19:39.298 JupyterHub dockerspawner:1034] Getting service 'jupyter-test'
[D 2025-05-23 07:19:39.304 JupyterHub swarmspawner:281] Service kvr99k7 state: running
[D 2025-05-23 07:19:39.312 JupyterHub spawner:1693] Polling subprocess every 30s
[D 2025-05-23 07:19:39.312 JupyterHub dockerspawner:977] Persisting state for test: service name=jupyter-test, id=kvr99k758j8urb9hh0t1ut6xy
[D 2025-05-23 07:19:39.317 JupyterHub utils:297] Waiting 400s for server at http://jupyter-test:80/user/test/api
[W 2025-05-23 07:19:39.318 JupyterHub utils:322] Failed to connect to http://jupyter-test:80/user/test/api ([Errno -3] Temporary failure in name resolution)
[W 2025-05-23 07:19:39.364 JupyterHub utils:322] Failed to connect to http://jupyter-test:80/user/test/api ([Errno -3] Temporary failure in name resolution)
2025-05-23T07:19:39.434Z [ConfigProxy] debug: PROXY WEB /hub/home to http://192.168.10.10:8081
[I 2025-05-23 07:19:39.445 JupyterHub log:192] 200 GET /hub/home (test@::ffff:10.0.2.2) 8.68ms
2025-05-23T07:19:39.484Z [ConfigProxy] debug: PROXY WEB /hub/static/js/home.js to http://192.168.10.10:8081
[D 2025-05-23 07:19:39.488 JupyterHub log:192] 200 GET /hub/static/js/home.js?v=20250523071826 (@::ffff:10.0.2.2) 1.65ms
2025-05-23T07:19:39.499Z [ConfigProxy] debug: PROXY WEB /hub/static/components/moment/moment.js to http://192.168.10.10:8081
2025-05-23T07:19:39.501Z [ConfigProxy] debug: PROXY WEB /hub/static/js/jhapi.js to http://192.168.10.10:8081
[D 2025-05-23 07:19:39.502 JupyterHub log:192] 200 GET /hub/static/components/moment/moment.js?v=20250523071826 (@::ffff:10.0.2.2) 1.92ms
[W 2025-05-23 07:19:39.503 JupyterHub utils:322] Failed to connect to http://jupyter-test:80/user/test/api ([Errno -3] Temporary failure in name resolution)
[D 2025-05-23 07:19:39.507 JupyterHub log:192] 200 GET /hub/static/js/jhapi.js?v=20250523071826 (@::ffff:10.0.2.2) 1.34ms
2025-05-23T07:19:39.510Z [ConfigProxy] debug: PROXY WEB /hub/static/js/utils.js to http://192.168.10.10:8081
[D 2025-05-23 07:19:39.513 JupyterHub log:192] 200 GET /hub/static/js/utils.js?v=20250523071826 (@::ffff:10.0.2.2) 1.35ms
[W 2025-05-23 07:19:40.083 JupyterHub utils:322] Failed to connect to http://jupyter-test:80/user/test/api ([Errno -3] Temporary failure in name resolution)
2025-05-23T07:19:40.492Z [ConfigProxy] debug: PROXY WEB /hub/api/users/test/server to http://192.168.10.10:8081
[D 2025-05-23 07:19:40.497 JupyterHub scopes:1013] Checking access to /hub/api/users/test/server via scope delete:servers!server=test/
[W 2025-05-23 07:19:40.499 JupyterHub users:717] Interrupting spawner test, pending spawn
Exception in callback chain_future.<locals>.copy(<Task cancell...base.py:1117>>) at /opt/jupyterhub/lib/python3.12/site-packages/tornado/concurrent.py:164
handle: <Handle chain_future.<locals>.copy(<Task cancell...base.py:1117>>) at /opt/jupyterhub/lib/python3.12/site-packages/tornado/concurrent.py:164>
Traceback (most recent call last):
File "/usr/lib/python3.12/asyncio/events.py", line 88, in _run
self._context.run(self._callback, *self._args)
File "/opt/jupyterhub/lib/python3.12/site-packages/tornado/concurrent.py", line 170, in copy
a_exc = a.exception()
^^^^^^^^^^^^^
File "/opt/jupyterhub/lib/python3.12/site-packages/jupyterhub/handlers/base.py", line 1124, in finish_user_spawn
await spawn_future
File "/opt/jupyterhub/lib/python3.12/site-packages/jupyterhub/user.py", line 1030, in spawn
await self._wait_up(spawner)
File "/opt/jupyterhub/lib/python3.12/site-packages/jupyterhub/user.py", line 1044, in _wait_up
resp = await server.wait_up(
^^^^^^^^^^^^^^^^^^^^^
File "/opt/jupyterhub/lib/python3.12/site-packages/jupyterhub/utils.py", line 327, in wait_for_http_server
re = await exponential_backoff(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/jupyterhub/lib/python3.12/site-packages/jupyterhub/utils.py", line 266, in exponential_backoff
await asyncio.sleep(dt)
File "/usr/lib/python3.12/asyncio/tasks.py", line 665, in sleep
return await future
^^^^^^^^^^^^
asyncio.exceptions.CancelledError
[I 2025-05-23 07:19:40.504 JupyterHub users:899] Server test is ready
[W 2025-05-23 07:19:40.505 JupyterHub users:782] Stream closed while handling /hub/api/users/test/server/progress?_xsrf=MnwxOjB8MTA6MTc0NzkyODIzMnw1Ol94c3JmfDg4Oll6WXpZVEZoT1dSallqQTNORFJpT0dFell6bGhZbVptWXpReFl6ZzFOakU2TWpjeE1qY3labUZqTVdGaU5ERXhaamcxTmpobU5UTTVNREE1WTJFNU9XWT18NzYxODg3OThhN2JkNWFhNGMyZDU5MmMxYmQwNGM5ODdiN2IwNjE1NmEwMjYzYjIyZWQ0OGI4NGYyYTQ1NDZiOA
[I 2025-05-23 07:19:40.505 JupyterHub log:192] 200 GET /hub/api/users/test/server/progress?_xsrf=[secret] (test@::ffff:10.0.2.2) 2567.88ms
2025-05-23T07:19:40.600Z [ConfigProxy] debug: PROXY WEB /hub/api to http://192.168.10.10:8081
[I 2025-05-23 07:19:40.602 JupyterHub log:192] 200 GET /hub/api (@::ffff:192.168.10.11) 0.83ms
2025-05-23T07:19:40.717Z [ConfigProxy] debug: PROXY WEB /hub/api/users/test/activity to http://192.168.10.10:8081
[D 2025-05-23 07:19:40.722 JupyterHub base:366] Recording first activity for <APIToken('0b97...', user='test', client_id='jupyterhub')>
[D 2025-05-23 07:19:40.731 JupyterHub scopes:1013] Checking access to /hub/api/users/test/activity via scope users:activity!user=test
[D 2025-05-23 07:19:40.734 JupyterHub users:1006] Activity for user test: 2025-05-23T07:19:40.581144Z
[D 2025-05-23 07:19:40.734 JupyterHub users:1024] Activity on server test/: 2025-05-23T07:19:40.581144Z
[I 2025-05-23 07:19:40.739 JupyterHub log:192] 200 POST /hub/api/users/test/activity (test@::ffff:192.168.10.11) 19.97ms
[I 2025-05-23 07:19:41.502 JupyterHub proxy:356] Removing user test from proxy (/user/test/)
[D 2025-05-23 07:19:41.503 JupyterHub proxy:925] Proxy: Fetching DELETE http://192.168.10.10:8001/api/routes/user/test
2025-05-23T07:19:41.506Z [ConfigProxy] warn: 404 DELETE /api/routes/user/test
[E 2025-05-23 07:19:41.506 JupyterHub proxy:949] api_request to proxy failed: HTTP 404: Not Found
[W 2025-05-23 07:19:41.506 JupyterHub proxy:976] Route /user/test/ already deleted
[D 2025-05-23 07:19:41.507 JupyterHub user:1097] Stopping test
[D 2025-05-23 07:19:41.507 JupyterHub swarmspawner:156] Getting task of service 'jupyter-test'
[D 2025-05-23 07:19:41.507 JupyterHub dockerspawner:1034] Getting service 'jupyter-test'
[D 2025-05-23 07:19:41.513 JupyterHub swarmspawner:145] Service kvr99k7 status: {'ContainerStatus': {'ContainerID': '2cad24cee217e0433c2bb377cf3767a85e53e7a594487c1e5acfa95b3828860b',
'ExitCode': 0,
'PID': 1540},
'Message': 'started',
'PortStatus': {},
'State': 'running',
'Timestamp': '2025-05-23T07:19:38.886505592Z'}
[I 2025-05-23 07:19:41.513 JupyterHub dockerspawner:1431] Stopping service jupyter-test (id: kvr99k7)
[I 2025-05-23 07:19:41.513 JupyterHub swarmspawner:258] Removing service kvr99k758j8urb9hh0t1ut6xy
[D 2025-05-23 07:19:41.538 JupyterHub user:1119] Deleting oauth client jupyterhub-user-test
[D 2025-05-23 07:19:41.547 JupyterHub user:1122] Finished stopping test
[I 2025-05-23 07:19:41.560 JupyterHub base:1349] User test server took 0.058 seconds to stop
[I 2025-05-23 07:19:41.561 JupyterHub log:192] 204 DELETE /hub/api/users/test/server?_xsrf=[secret] (test@::ffff:10.0.2.2) 1067.60ms
2025-05-23T07:19:42.044Z [ConfigProxy] debug: PROXY WEB /hub/spawn/test to http://192.168.10.10:8081
[D 2025-05-23 07:19:42.052 JupyterHub scopes:1013] Checking access to /hub/spawn/test via scope servers!server=test/
[D 2025-05-23 07:19:42.052 JupyterHub user:496] Creating <class 'dockerspawner.swarmspawner.SwarmSpawner'> for test:
[D 2025-05-23 07:19:42.052 JupyterHub pages:216] Triggering spawn with default options for test
[D 2025-05-23 07:19:42.053 JupyterHub base:1097] Initiating spawn for test
[D 2025-05-23 07:19:42.053 JupyterHub base:1101] 0/100 concurrent spawns
[D 2025-05-23 07:19:42.053 JupyterHub base:1106] 0 active servers
[I 2025-05-23 07:19:42.080 JupyterHub provider:661] Creating oauth client jupyterhub-user-test
[D 2025-05-23 07:19:42.100 JupyterHub user:913] Calling Spawner.start for test
[D 2025-05-23 07:19:42.100 JupyterHub dockerspawner:1254] Skipping pull of euclid_nvidiatorch:latest
[D 2025-05-23 07:19:42.100 JupyterHub dockerspawner:1034] Getting service 'jupyter-test'
[I 2025-05-23 07:19:42.104 JupyterHub dockerspawner:1040] Service 'jupyter-test' is gone
[I 2025-05-23 07:19:42.112 JupyterHub dockerspawner:1318] Created service jupyter-test (id: ubobgqa) from image euclid_nvidiatorch:latest
[I 2025-05-23 07:19:42.112 JupyterHub dockerspawner:1342] Starting service jupyter-test (id: ubobgqa)
[D 2025-05-23 07:19:42.112 JupyterHub swarmspawner:156] Getting task of service 'jupyter-test'
[D 2025-05-23 07:19:42.112 JupyterHub dockerspawner:1034] Getting service 'jupyter-test'
[D 2025-05-23 07:19:42.116 JupyterHub swarmspawner:281] Service ubobgqa state: pending
[I 2025-05-23 07:19:43.054 JupyterHub log:192] 302 GET /hub/spawn/test -> /hub/spawn-pending/test (test@::ffff:10.0.2.2) 1008.04ms
2025-05-23T07:19:43.056Z [ConfigProxy] debug: Not recording activity for status 302 on /
2025-05-23T07:19:43.059Z [ConfigProxy] debug: PROXY WEB /hub/spawn-pending/test to http://192.168.10.10:8081
[D 2025-05-23 07:19:43.065 JupyterHub scopes:1013] Checking access to /hub/spawn-pending/test via scope servers!server=test/
[I 2025-05-23 07:19:43.066 JupyterHub pages:400] test is pending spawn
[D 2025-05-23 07:19:43.067 JupyterHub log:192] 304 GET /hub/spawn-pending/test (test@::ffff:10.0.2.2) 6.27ms
2025-05-23T07:19:43.068Z [ConfigProxy] debug: Not recording activity for status 304 on /
2025-05-23T07:19:43.095Z [ConfigProxy] debug: PROXY WEB /hub/static/favicon.ico to http://192.168.10.10:8081
[D 2025-05-23 07:19:43.098 JupyterHub log:192] 200 GET /hub/static/favicon.ico?v=fde5757cd3892b979919d3b1faa88a410f28829feb5ba22b6cf069f2c6c98675fceef90f932e49b510e74d65c681d5846b943e7f7cc1b41867422f0481085c1f (@::ffff:10.0.2.2) 0.94ms
2025-05-23T07:19:43.102Z [ConfigProxy] debug: PROXY WEB /hub/api/users/test/server/progress to http://192.168.10.10:8081
[D 2025-05-23 07:19:43.108 JupyterHub scopes:1013] Checking access to /hub/api/users/test/server/progress via scope read:servers!server=test/
[D 2025-05-23 07:19:43.117 JupyterHub swarmspawner:156] Getting task of service 'jupyter-test'
[D 2025-05-23 07:19:43.117 JupyterHub dockerspawner:1034] Getting service 'jupyter-test'
[D 2025-05-23 07:19:43.122 JupyterHub swarmspawner:281] Service ubobgqa state: preparing
[D 2025-05-23 07:19:44.624 JupyterHub swarmspawner:156] Getting task of service 'jupyter-test'
[D 2025-05-23 07:19:44.624 JupyterHub dockerspawner:1034] Getting service 'jupyter-test'
[D 2025-05-23 07:19:44.630 JupyterHub swarmspawner:281] Service ubobgqa state: running
[D 2025-05-23 07:19:44.639 JupyterHub spawner:1693] Polling subprocess every 30s
[D 2025-05-23 07:19:44.639 JupyterHub dockerspawner:977] Persisting state for test: service name=jupyter-test, id=ubobgqa8ch2mefy44y6wvorfy
[D 2025-05-23 07:19:44.646 JupyterHub utils:297] Waiting 400s for server at http://jupyter-test:80/user/test/api
[W 2025-05-23 07:19:44.648 JupyterHub utils:322] Failed to connect to http://jupyter-test:80/user/test/api ([Errno -3] Temporary failure in name resolution)
[W 2025-05-23 07:19:44.682 JupyterHub utils:322] Failed to connect to http://jupyter-test:80/user/test/api ([Errno -3] Temporary failure in name resolution)
2025-05-23T07:19:44.775Z [ConfigProxy] debug: PROXY WEB /hub/api to http://192.168.10.10:8081
[I 2025-05-23 07:19:44.778 JupyterHub log:192] 200 GET /hub/api (@::ffff:192.168.10.11) 0.73ms
[W 2025-05-23 07:19:44.840 JupyterHub utils:322] Failed to connect to http://jupyter-test:80/user/test/api ([Errno -3] Temporary failure in name resolution)
2025-05-23T07:19:44.900Z [ConfigProxy] debug: PROXY WEB /hub/api/users/test/activity to http://192.168.10.10:8081
[D 2025-05-23 07:19:44.903 JupyterHub base:366] Recording first activity for <APIToken('2042...', user='test', client_id='jupyterhub')>
[D 2025-05-23 07:19:44.913 JupyterHub scopes:1013] Checking access to /hub/api/users/test/activity via scope users:activity!user=test
[D 2025-05-23 07:19:44.915 JupyterHub users:1006] Activity for user test: 2025-05-23T07:19:44.762377Z
[D 2025-05-23 07:19:44.915 JupyterHub users:1024] Activity on server test/: 2025-05-23T07:19:44.762377Z
[I 2025-05-23 07:19:44.921 JupyterHub log:192] 200 POST /hub/api/users/test/activity (test@::ffff:192.168.10.11) 19.80ms
[W 2025-05-23 07:19:44.922 JupyterHub utils:322] Failed to connect to http://jupyter-test:80/user/test/api ([Errno -3] Temporary failure in name resolution)
[W 2025-05-23 07:19:45.431 JupyterHub utils:322] Failed to connect to http://jupyter-test:80/user/test/api ([Errno -3] Temporary failure in name resolution)
[W 2025-05-23 07:19:46.833 JupyterHub utils:322] Failed to connect to http://jupyter-test:80/user/test/api ([Errno -3] Temporary failure in name resolution)
[W 2025-05-23 07:19:50.971 JupyterHub utils:322] Failed to connect to http://jupyter-test:80/user/test/api ([Errno -3] Temporary failure in name resolution)
[D 2025-05-23 07:19:52.054 JupyterHub swarmspawner:156] Getting task of service 'jupyter-test'
[D 2025-05-23 07:19:52.054 JupyterHub dockerspawner:1034] Getting service 'jupyter-test'
[D 2025-05-23 07:19:52.062 JupyterHub swarmspawner:145] Service ubobgqa status: {'ContainerStatus': {'ContainerID': '17e3634ec7df66deaed2be49c53da7bc5a0c256e817ca9125e671dde400a2487',
'ExitCode': 0,
'PID': 1671},
'Message': 'started',
'PortStatus': {},
'State': 'running',
'Timestamp': '2025-05-23T07:19:43.904558436Z'}
[W 2025-05-23 07:19:52.062 JupyterHub base:1274] User test is slow to become responsive (timeout=10)
[D 2025-05-23 07:19:52.063 JupyterHub base:1279] Expecting server for test at: http://jupyter-test:80/user/test/
[W 2025-05-23 07:19:52.554 JupyterHub utils:322] Failed to connect to http://jupyter-test:80/user/test/api ([Errno -3] Temporary failure in name resolution)
[W 2025-05-23 07:19:57.242 JupyterHub utils:322] Failed to connect to http://jupyter-test:80/user/test/api ([Errno -3] Temporary failure in name resolution)
[W 2025-05-23 07:19:57.968 JupyterHub utils:322] Failed to connect to http://jupyter-test:80/user/test/api ([Errno -3] Temporary failure in name resolution)
[W 2025-05-23 07:20:01.518 JupyterHub utils:322] Failed to connect to http://jupyter-test:80/user/test/api ([Errno -3] Temporary failure in name resolution)
[W 2025-05-23 07:20:03.145 JupyterHub utils:322] Failed to connect to http://jupyter-test:80/user/test/api ([Errno -3] Temporary failure in name resolution)
Interestingly, the container can resolve both the single-user server address and the hub’s:
sudo docker exec b0dfe6ac5386 curl -vvv http://jupyter-test:80/user/test/ && curl -vvv http://192.168.10.10:8000
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 10.0.1.102:80...
* Connected to jupyter-test (10.0.1.102) port 80 (#0)
> GET /user/test/ HTTP/1.1
> Host: jupyter-test
> User-Agent: curl/7.81.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 302 Found
< Server: TornadoServer/6.4
< Content-Type: text/html; charset=UTF-8
< Date: Fri, 23 May 2025 11:30:47 GMT
< Location: /user/test/lab?
< Content-Length: 0
<
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
* Connection #0 to host jupyter-test left intact
* Trying 192.168.10.10:8000...
* Connected to 192.168.10.10 (192.168.10.10) port 8000
> GET / HTTP/1.1
> Host: 192.168.10.10:8000
> User-Agent: curl/8.5.0
> Accept: */*
>
< HTTP/1.1 302 Found
< server: TornadoServer/6.5
< content-type: text/html
< date: Fri, 23 May 2025 11:30:47 GMT
< x-jupyterhub-version: 5.3.0
< access-control-allow-headers: accept, content-type, authorization
< content-security-policy: frame-ancestors 'none'; report-uri /hub/security/csp-report
< location: /hub/
< content-length: 0
< connection: keep-alive
<
* Connection #0 to host 192.168.10.10 left intact