Context
k8s: v1.27.6
helm: v3.13.0
jupyterhub helm chart: 3.1.0
# configs.yaml
proxy:
service:
type: NodePort
ingress:
enabled: true
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/proxy-body-size: 512m
cert-manager.io/cluster-issuer: letsencrypt-prod
hosts:
- xxxxxxxxxxxxxxxxxxxxxxxx
tls:
- hosts:
- xxxxxxxxxxxxxxxxxxxxxxxx
secretName: codebook-tls
singleuser:
startTimeout: 300
debug:
enabled: true
Deployment seems to work fine:
NAME READY STATUS RESTARTS AGE
continuous-image-puller-2v74w 1/1 Running 0 8m59s
continuous-image-puller-c9zvb 1/1 Running 0 8m59s
continuous-image-puller-rrlcm 1/1 Running 0 8m59s
hub-674b844668-qlghj 1/1 Running 0 8m59s
proxy-846b4778b6-xj4jc 1/1 Running 0 8m59s
user-scheduler-c849bb8dd-8bb7w 1/1 Running 0 8m59s
user-scheduler-c849bb8dd-nh5cg 1/1 Running 0 8m59s
Issue
When login with user test
through the default DummyAuthenticator, the user pod wasn’t created at all, and got a TimeoutError at the end:
[D 2023-10-18 18:58:33.343 JupyterHub application:905] Looking for /usr/local/etc/jupyterhub/jupyterhub_config in /srv/jupyterhub
Loading /usr/local/etc/jupyterhub/secret/values.yaml
No config at /usr/local/etc/jupyterhub/existing-secret/values.yaml
[D 2023-10-18 18:58:33.835 JupyterHub application:926] Loaded config file: /usr/local/etc/jupyterhub/jupyterhub_config.py
[I 2023-10-18 18:58:33.869 JupyterHub app:2859] Running JupyterHub version 4.0.2
[I 2023-10-18 18:58:33.869 JupyterHub app:2889] Using Authenticator: jupyterhub.auth.DummyAuthenticator-4.0.2
[I 2023-10-18 18:58:33.869 JupyterHub app:2889] Using Spawner: kubespawner.spawner.KubeSpawner-6.1.0
[I 2023-10-18 18:58:33.869 JupyterHub app:2889] Using Proxy: jupyterhub.proxy.ConfigurableHTTPProxy-4.0.2
[D 2023-10-18 18:58:33.876 JupyterHub app:1833] Connecting to db: sqlite:///jupyterhub.sqlite
[D 2023-10-18 18:58:33.900 JupyterHub orm:984] Stamping empty database with alembic revision 0eee8c825d24
[I 2023-10-18 18:58:33.902 alembic.runtime.migration migration:213] Context impl SQLiteImpl.
[I 2023-10-18 18:58:33.902 alembic.runtime.migration migration:216] Will assume non-transactional DDL.
[I 2023-10-18 18:58:33.915 alembic.runtime.migration migration:619] Running stamp_revision -> 0eee8c825d24
[D 2023-10-18 18:58:33.916 alembic.runtime.migration migration:827] new branch insert 0eee8c825d24
[D 2023-10-18 18:58:33.929 JupyterHub orm:984] Stamping empty database with alembic revision 0eee8c825d24
[I 2023-10-18 18:58:33.931 alembic.runtime.migration migration:213] Context impl SQLiteImpl.
[I 2023-10-18 18:58:33.931 alembic.runtime.migration migration:216] Will assume non-transactional DDL.
[D 2023-10-18 18:58:34.093 JupyterHub app:2104] Loading roles into database
[I 2023-10-18 18:58:34.126 JupyterHub roles:172] Role jupyterhub-idle-culler added to database
[I 2023-10-18 18:58:34.131 JupyterHub app:1984] Not using allowed_users. Any authenticated user will be allowed.
[D 2023-10-18 18:58:34.157 JupyterHub app:2343] Purging expired APITokens
[D 2023-10-18 18:58:34.160 JupyterHub app:2343] Purging expired OAuthCodes
[D 2023-10-18 18:58:34.164 JupyterHub app:2179] Loading role assignments from config
[D 2023-10-18 18:58:34.188 JupyterHub app:2502] Initializing spawners
[D 2023-10-18 18:58:34.190 JupyterHub app:2633] Loaded users:
[I 2023-10-18 18:58:34.191 JupyterHub app:2928] Initialized 0 spawners in 0.003 seconds
[I 2023-10-18 18:58:34.200 JupyterHub metrics:278] Found 0 active users in the last ActiveUserPeriods.twenty_four_hours
[I 2023-10-18 18:58:34.201 JupyterHub metrics:278] Found 0 active users in the last ActiveUserPeriods.seven_days
[I 2023-10-18 18:58:34.202 JupyterHub metrics:278] Found 0 active users in the last ActiveUserPeriods.thirty_days
[I 2023-10-18 18:58:34.202 JupyterHub app:3142] Not starting proxy
[D 2023-10-18 18:58:34.202 JupyterHub proxy:880] Proxy: Fetching GET http://proxy-api:8001/api/routes
[D 2023-10-18 18:58:34.209 JupyterHub proxy:953] Omitting non-jupyterhub route '/'
[I 2023-10-18 18:58:34.209 JupyterHub app:3178] Hub API listening on http://:8081/hub/
[I 2023-10-18 18:58:34.209 JupyterHub app:3180] Private Hub API connect url http://hub:8081/hub/
[I 2023-10-18 18:58:34.209 JupyterHub app:3189] Starting managed service jupyterhub-idle-culler
[I 2023-10-18 18:58:34.210 JupyterHub service:385] Starting service 'jupyterhub-idle-culler': ['python3', '-m', 'jupyterhub_idle_culler', '--url=http://localhost:8081/hub/api', '--timeout=3600', '--cull-every=600', '--concurrency=10']
[I 2023-10-18 18:58:34.211 JupyterHub service:133] Spawning python3 -m jupyterhub_idle_culler --url=http://localhost:8081/hub/api --timeout=3600 --cull-every=600 --concurrency=10
[D 2023-10-18 18:58:34.212 JupyterHub spawner:1384] Polling subprocess every 30s
[D 2023-10-18 18:58:34.212 JupyterHub proxy:389] Fetching routes to check
[D 2023-10-18 18:58:34.213 JupyterHub proxy:880] Proxy: Fetching GET http://proxy-api:8001/api/routes
[D 2023-10-18 18:58:34.215 JupyterHub proxy:953] Omitting non-jupyterhub route '/'
[D 2023-10-18 18:58:34.215 JupyterHub proxy:392] Checking routes
[I 2023-10-18 18:58:34.215 JupyterHub proxy:477] Adding route for Hub: / => http://hub:8081
[D 2023-10-18 18:58:34.215 JupyterHub proxy:880] Proxy: Fetching POST http://proxy-api:8001/api/routes/
[I 2023-10-18 18:58:34.218 JupyterHub app:3247] JupyterHub is now running, internal Hub API at http://hub:8081/hub/
[D 2023-10-18 18:58:34.219 JupyterHub app:2852] It took 0.881 seconds for the Hub to start
[D 2023-10-18 18:58:35.038 JupyterHub base:299] Recording first activity for <APIToken('16a9...', service='jupyterhub-idle-culler', client_id='jupyterhub')>
[I 2023-10-18 18:58:35.048 JupyterHub log:191] 200 GET /hub/api/ (jupyterhub-idle-culler@::1) 13.21ms
[D 2023-10-18 18:58:35.053 JupyterHub scopes:877] Checking access to /hub/api/users via scope list:users
[D 2023-10-18 18:58:35.054 JupyterHub scopes:677] Unrestricted access to /hub/api/users via list:users
[I 2023-10-18 18:58:35.062 JupyterHub log:191] 200 GET /hub/api/users?state=[secret] (jupyterhub-idle-culler@::1) 11.00ms
[D 2023-10-18 18:58:35.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.65ms
[D 2023-10-18 18:58:37.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.70ms
[D 2023-10-18 18:58:39.489 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.76ms
[D 2023-10-18 18:58:41.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.72ms
[D 2023-10-18 18:58:43.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.67ms
[D 2023-10-18 18:58:45.489 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.77ms
[D 2023-10-18 18:58:47.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.65ms
[D 2023-10-18 18:58:49.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.64ms
[D 2023-10-18 18:58:51.487 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.61ms
[D 2023-10-18 18:58:53.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.66ms
[D 2023-10-18 18:58:55.489 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.78ms
[D 2023-10-18 18:58:57.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.79ms
[D 2023-10-18 18:58:59.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.61ms
[D 2023-10-18 18:59:01.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.65ms
[D 2023-10-18 18:59:03.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.60ms
[D 2023-10-18 18:59:05.489 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.91ms
[I 2023-10-18 18:59:06.358 JupyterHub log:191] 302 GET / -> /hub/ (@172.20.35.54) 0.55ms
[I 2023-10-18 18:59:06.417 JupyterHub log:191] 302 GET /hub/ -> /hub/login?next=%2Fhub%2F (@172.20.35.54) 0.70ms
[I 2023-10-18 18:59:06.513 JupyterHub log:191] 200 GET /hub/login?next=%2Fhub%2F (@172.20.35.54) 42.07ms
[D 2023-10-18 18:59:06.576 JupyterHub log:191] 200 GET /hub/static/css/style.min.css?v=01598a5386176f0279952a3b9632a07e7fce9a12aa53108973c83be9ec3473e7a59354876fab64bfeb01892eb503870183707aa03f207d7a94845ca7980c3819 (@172.20.35.54) 2.39ms
[D 2023-10-18 18:59:06.590 JupyterHub log:191] 200 GET /hub/static/components/requirejs/require.js?v=bd1aa102bdb0b27fbf712b32cfcd29b016c272acf3d864ee8469376eaddd032cadcf827ff17c05a8c8e20061418fe58cf79947049f5c0dff3b4f73fcc8cad8ec (@172.20.35.54) 2.03ms
[D 2023-10-18 18:59:06.590 JupyterHub log:191] 200 GET /hub/static/components/bootstrap/dist/js/bootstrap.min.js?v=a014e9acc78d10a0a7a9fbaa29deac6ef17398542d9574b77b40bf446155d210fa43384757e3837da41b025998ebfab4b9b6f094033f9c226392b800df068bce (@172.20.35.54) 2.40ms
[D 2023-10-18 18:59:06.591 JupyterHub log:191] 200 GET /hub/static/components/jquery/dist/jquery.min.js?v=de027062931edd07b01842eff24fc15fdbdcaa1af245dcd133155faba9e0c965f0a34dc6144ce3b149bc43b4597073c792cb6dabbfc6168c63095523923bcf77 (@172.20.35.54) 2.93ms
[D 2023-10-18 18:59:06.824 JupyterHub log:191] 200 GET /hub/logo (@172.20.35.54) 1.11ms
[D 2023-10-18 18:59:06.891 JupyterHub log:191] 200 GET /hub/static/favicon.ico?v=fde5757cd3892b979919d3b1faa88a410f28829feb5ba22b6cf069f2c6c98675fceef90f932e49b510e74d65c681d5846b943e7f7cc1b41867422f0481085c1f (@172.20.35.54) 0.99ms
[D 2023-10-18 18:59:07.489 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.67ms
[D 2023-10-18 18:59:09.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.62ms
[D 2023-10-18 18:59:11.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.71ms
[D 2023-10-18 18:59:12.116 JupyterHub log:191] 200 GET /hub/static/components/font-awesome/fonts/fontawesome-webfont.woff2?v=4.7.0 (@172.20.35.54) 0.90ms
[D 2023-10-18 18:59:12.126 JupyterHub roles:281] Assigning default role to User test
[I 2023-10-18 18:59:12.132 JupyterHub roles:238] Adding role user for User: test
[D 2023-10-18 18:59:12.149 JupyterHub roles:281] Assigning default role to User test
[D 2023-10-18 18:59:12.153 JupyterHub base:587] Setting cookie jupyterhub-session-id: {'httponly': True, 'secure': True, 'path': '/'}
[D 2023-10-18 18:59:12.153 JupyterHub base:591] Setting cookie for test: jupyterhub-hub-login
[D 2023-10-18 18:59:12.154 JupyterHub base:587] Setting cookie jupyterhub-hub-login: {'httponly': True, 'secure': True, 'path': '/hub/'}
[I 2023-10-18 18:59:12.154 JupyterHub base:837] User logged in: test
[I 2023-10-18 18:59:12.155 JupyterHub log:191] 302 POST /hub/login?next=%2Fhub%2F -> /hub/ (test@172.20.35.54) 33.65ms
[D 2023-10-18 18:59:12.211 JupyterHub base:299] Recording first activity for <User(test 0/1 running)>
[D 2023-10-18 18:59:12.221 JupyterHub user:431] Creating <class 'kubespawner.spawner.KubeSpawner'> for test:
[I 2023-10-18 18:59:12.227 JupyterHub log:191] 302 GET /hub/ -> /hub/spawn (test@172.20.35.54) 18.28ms
[D 2023-10-18 18:59:12.282 JupyterHub scopes:877] Checking access to /hub/spawn via scope servers
[D 2023-10-18 18:59:12.283 JupyterHub scopes:690] Argument-based access to /hub/spawn via servers
[D 2023-10-18 18:59:12.283 JupyterHub pages:217] Triggering spawn with default options for test
[D 2023-10-18 18:59:12.283 JupyterHub base:961] Initiating spawn for test
[D 2023-10-18 18:59:12.283 JupyterHub base:965] 0/64 concurrent spawns
[D 2023-10-18 18:59:12.283 JupyterHub base:970] 0 active servers
[I 2023-10-18 18:59:12.309 JupyterHub provider:659] Creating oauth client jupyterhub-user-test
[D 2023-10-18 18:59:12.333 JupyterHub user:794] Calling Spawner.start for test
[I 2023-10-18 18:59:12.337 JupyterHub log:191] 302 GET /hub/spawn -> /hub/spawn-pending/test (test@172.20.35.54) 56.43ms
[D 2023-10-18 18:59:12.394 JupyterHub scopes:877] Checking access to /hub/spawn-pending/test via scope servers
[D 2023-10-18 18:59:12.394 JupyterHub scopes:690] Argument-based access to /hub/spawn-pending/test via servers
[I 2023-10-18 18:59:12.395 JupyterHub pages:398] test is pending spawn
[I 2023-10-18 18:59:12.400 JupyterHub log:191] 200 GET /hub/spawn-pending/test (test@172.20.35.54) 8.11ms
[D 2023-10-18 18:59:12.495 JupyterHub scopes:877] Checking access to /hub/api/users/test/server/progress via scope read:servers
[D 2023-10-18 18:59:12.495 JupyterHub scopes:690] Argument-based access to /hub/api/users/test/server/progress via read:servers
[D 2023-10-18 18:59:13.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.60ms
[D 2023-10-18 18:59:15.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.67ms
[D 2023-10-18 18:59:17.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.61ms
[D 2023-10-18 18:59:19.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.66ms
[D 2023-10-18 18:59:21.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.96ms
[D 2023-10-18 18:59:23.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.51ms
[D 2023-10-18 18:59:25.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.77ms
[D 2023-10-18 18:59:27.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.67ms
[D 2023-10-18 18:59:29.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.58ms
[D 2023-10-18 18:59:31.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.69ms
[D 2023-10-18 18:59:33.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.64ms
[D 2023-10-18 18:59:34.219 JupyterHub proxy:880] Proxy: Fetching GET http://proxy-api:8001/api/routes
[D 2023-10-18 18:59:34.222 JupyterHub proxy:392] Checking routes
[D 2023-10-18 18:59:35.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.50ms
[D 2023-10-18 18:59:37.489 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.90ms
[D 2023-10-18 18:59:39.489 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.87ms
[D 2023-10-18 18:59:41.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.66ms
[D 2023-10-18 18:59:43.489 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.70ms
[D 2023-10-18 18:59:45.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.65ms
[D 2023-10-18 18:59:47.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.64ms
[D 2023-10-18 18:59:49.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.84ms
[D 2023-10-18 18:59:51.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.57ms
[D 2023-10-18 18:59:53.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.75ms
[D 2023-10-18 18:59:55.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.63ms
[D 2023-10-18 18:59:57.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.53ms
[D 2023-10-18 18:59:59.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.60ms
[D 2023-10-18 19:00:01.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.73ms
[D 2023-10-18 19:00:03.489 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.87ms
[D 2023-10-18 19:00:05.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.67ms
[D 2023-10-18 19:00:07.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.61ms
[D 2023-10-18 19:00:09.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.56ms
[D 2023-10-18 19:00:11.488 JupyterHub log:191] 200 GET /hub/health (@100.96.3.73) 0.71ms
[E 2023-10-18 19:00:12.612 JupyterHub reflector:397] Initial list of events failed
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/kubespawner/reflector.py", line 395, in start
await self._list_and_update()
File "/usr/local/lib/python3.11/site-packages/kubespawner/reflector.py", line 231, in _list_and_update
initial_resources_raw = await list_method(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/kubernetes_asyncio/client/api_client.py", line 185, in __call_api
response_data = await self.request(
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/kubernetes_asyncio/client/rest.py", line 196, in GET
return (await self.request("GET", url,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/kubernetes_asyncio/client/rest.py", line 180, in request
r = await self.pool_manager.request(**args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/client.py", line 467, in _request
with timer:
File "/usr/local/lib/python3.11/site-packages/aiohttp/helpers.py", line 721, in __exit__
raise asyncio.TimeoutError from None
TimeoutError
[E 2023-10-18 19:00:12.615 JupyterHub spawner:2407] Reflector with key ('events', 'jhub-test') failed to start.
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/kubespawner/spawner.py", line 2405, in catch_reflector_start
await func
File "/usr/local/lib/python3.11/site-packages/kubespawner/reflector.py", line 395, in start
await self._list_and_update()
File "/usr/local/lib/python3.11/site-packages/kubespawner/reflector.py", line 231, in _list_and_update
initial_resources_raw = await list_method(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/kubernetes_asyncio/client/api_client.py", line 185, in __call_api
response_data = await self.request(
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/kubernetes_asyncio/client/rest.py", line 196, in GET
return (await self.request("GET", url,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/kubernetes_asyncio/client/rest.py", line 180, in request
r = await self.pool_manager.request(**args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/client.py", line 467, in _request
with timer:
File "/usr/local/lib/python3.11/site-packages/aiohttp/helpers.py", line 721, in __exit__
raise asyncio.TimeoutError from None
TimeoutError
[E 2023-10-18 19:00:12.618 JupyterHub reflector:397] Initial list of pods failed
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/kubespawner/reflector.py", line 395, in start
await self._list_and_update()
File "/usr/local/lib/python3.11/site-packages/kubespawner/reflector.py", line 231, in _list_and_update
initial_resources_raw = await list_method(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/kubernetes_asyncio/client/api_client.py", line 185, in __call_api
response_data = await self.request(
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/kubernetes_asyncio/client/rest.py", line 196, in GET
return (await self.request("GET", url,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/kubernetes_asyncio/client/rest.py", line 180, in request
r = await self.pool_manager.request(**args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/client.py", line 467, in _request
with timer:
File "/usr/local/lib/python3.11/site-packages/aiohttp/helpers.py", line 721, in __exit__
raise asyncio.TimeoutError from None
TimeoutError
[E 2023-10-18 19:00:12.620 JupyterHub spawner:2407] Reflector with key ('pods', 'jhub-test') failed to start.
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/kubespawner/spawner.py", line 2405, in catch_reflector_start
await func
File "/usr/local/lib/python3.11/site-packages/kubespawner/reflector.py", line 395, in start
await self._list_and_update()
File "/usr/local/lib/python3.11/site-packages/kubespawner/reflector.py", line 231, in _list_and_update
initial_resources_raw = await list_method(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/kubernetes_asyncio/client/api_client.py", line 185, in __call_api
response_data = await self.request(
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/kubernetes_asyncio/client/rest.py", line 196, in GET
return (await self.request("GET", url,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/kubernetes_asyncio/client/rest.py", line 180, in request
r = await self.pool_manager.request(**args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/client.py", line 467, in _request
with timer:
File "/usr/local/lib/python3.11/site-packages/aiohttp/helpers.py", line 721, in __exit__
raise asyncio.TimeoutError from None
TimeoutError
[E 2023-10-18 19:00:12.621 JupyterHub web:1871] Uncaught exception GET /hub/api/users/test/server/progress?_xsrf=2%7C09658ca0%7Cd7c4467a0bdddaa7272755ed70306e0e%7C1697655546 (172.20.35.54)
HTTPServerRequest(protocol='https', host='regn-codebook.datajoint.io', method='GET', uri='/hub/api/users/test/server/progress?_xsrf=2%7C09658ca0%7Cd7c4467a0bdddaa7272755ed70306e0e%7C1697655546', version='HTTP/1.1', remote_ip='172.20.35.54')
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/tornado/web.py", line 1786, in _execute
result = await result
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/jupyterhub/apihandlers/users.py", line 752, in get
async for event in events:
File "/usr/local/lib/python3.11/site-packages/jupyterhub/utils.py", line 623, in iterate_until
yield item_future.result()
^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/jupyterhub/spawner.py", line 1274, in _generate_progress
async for event in progress:
File "/usr/local/lib/python3.11/site-packages/kubespawner/spawner.py", line 2294, in progress
await self._start_watching_events()
File "/usr/local/lib/python3.11/site-packages/kubespawner/spawner.py", line 2437, in _start_watching_events
return await self._start_reflector(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/kubespawner/spawner.py", line 2373, in _start_reflector
await previous_reflector.first_load_future
File "/usr/local/lib/python3.11/site-packages/kubespawner/reflector.py", line 395, in start
await self._list_and_update()
File "/usr/local/lib/python3.11/site-packages/kubespawner/reflector.py", line 231, in _list_and_update
initial_resources_raw = await list_method(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/kubernetes_asyncio/client/api_client.py", line 185, in __call_api
response_data = await self.request(
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/kubernetes_asyncio/client/rest.py", line 196, in GET
return (await self.request("GET", url,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/kubernetes_asyncio/client/rest.py", line 180, in request
r = await self.pool_manager.request(**args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/client.py", line 467, in _request
with timer:
File "/usr/local/lib/python3.11/site-packages/aiohttp/helpers.py", line 721, in __exit__
raise asyncio.TimeoutError from None
TimeoutError
[E 2023-10-18 19:00:12.625 JupyterHub web:1274] Cannot send error response after headers written
[I 2023-10-18 19:00:12.626 JupyterHub log:191] 200 GET /hub/api/users/test/server/progress?_xsrf=[secret] (test@172.20.35.54) 60132.89ms
[E 2023-10-18 19:00:12.626 JupyterHub user:884] Unhandled error starting test's server: 'coroutine' object has no attribute 'cancel'
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/jupyterhub/user.py", line 798, in spawn
url = await gen.with_timeout(timedelta(seconds=spawner.start_timeout), f)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/kubespawner/spawner.py", line 2669, in _start
future.cancel()
^^^^^^^^^^^^^
AttributeError: 'coroutine' object has no attribute 'cancel'
[D 2023-10-18 19:00:12.629 JupyterHub user:982] Stopping test
[D 2023-10-18 19:00:12.643 JupyterHub user:1002] Deleting oauth client jupyterhub-user-test
[D 2023-10-18 19:00:12.654 JupyterHub user:1005] Finished stopping test
[E 2023-10-18 19:00:12.667 JupyterHub gen:630] Exception in Future <Task finished name='Task-109' coro=<BaseHandler.spawn_single_user.<locals>.finish_user_spawn() done, defined at /usr/local/lib/python3.11/site-packages/jupyterhub/handlers/base.py:981> exception=AttributeError("'coroutine' object has no attribute 'cancel'")> after timeout
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/tornado/gen.py", line 625, in error_callback
future.result()
File "/usr/local/lib/python3.11/site-packages/jupyterhub/handlers/base.py", line 988, in finish_user_spawn
await spawn_future
File "/usr/local/lib/python3.11/site-packages/jupyterhub/user.py", line 902, in spawn
raise e
File "/usr/local/lib/python3.11/site-packages/jupyterhub/user.py", line 798, in spawn
url = await gen.with_timeout(timedelta(seconds=spawner.start_timeout), f)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/kubespawner/spawner.py", line 2669, in _start
future.cancel()
^^^^^^^^^^^^^
AttributeError: 'coroutine' object has no attribute 'cancel'