nebari-dev / nebari-docker-images

📦 Ready to use Docker images maintained by the Nebari team
BSD 3-Clause "New" or "Revised" License
5 stars 12 forks source link

Nebari JupyterHub broken after `kubernetes-asyncio` new release #163

Closed aktech closed 2 weeks ago

aktech commented 2 weeks ago

Context

│                                                                                                      Autoscroll:Off     FullScreen:Off     Timestamps:Off     Wrap:Off                                                                                                       │
│   File "/opt/conda/lib/python3.9/site-packages/fastapi/routing.py", line 191, in run_endpoint_function                                                                                                                                                                       │
│     return await dependant.call(**values)                                                                                                                                                                                                                                    │
│   File "/opt/conda/lib/python3.9/site-packages/jhub_apps/service/japps_routes.py", line 21, in handle_apps                                                                                                                                                                   │
│     config = get_jupyterhub_config()                                                                                                                                                                                                                                         │
│   File "/opt/conda/lib/python3.9/site-packages/cachetools/__init__.py", line 737, in wrapper                                                                                                                                                                                 │
│     v = func(*args, **kwargs)                                                                                                                                                                                                                                                │
│   File "/opt/conda/lib/python3.9/site-packages/jhub_apps/service/utils.py", line 28, in get_jupyterhub_config                                                                                                                                                                │
│     hub.load_config_file(jhub_config_file_path)                                                                                                                                                                                                                              │
│   File "/opt/conda/lib/python3.9/site-packages/traitlets/config/application.py", line 118, in inner                                                                                                                                                                          │
│     return method(app, *args, **kwargs)                                                                                                                                                                                                                                      │
│   File "/opt/conda/lib/python3.9/site-packages/traitlets/config/application.py", line 958, in load_config_file                                                                                                                                                               │
│     for config, fname in self._load_config_files(                                                                                                                                                                                                                            │
│   File "/opt/conda/lib/python3.9/site-packages/traitlets/config/application.py", line 915, in _load_config_files                                                                                                                                                             │
│     config = loader.load_config()                                                                                                                                                                                                                                            │
│   File "/opt/conda/lib/python3.9/site-packages/traitlets/config/loader.py", line 622, in load_config                                                                                                                                                                         │
│     self._read_file_as_dict()                                                                                                                                                                                                                                                │
│   File "/opt/conda/lib/python3.9/site-packages/traitlets/config/loader.py", line 655, in _read_file_as_dict                                                                                                                                                                  │
│     exec(compile(f.read(), conf_filename, "exec"), namespace, namespace)  # noqa: S102                                                                                                                                                                                       │
│   File "/usr/local/etc/jupyterhub/jupyterhub_config.py", line 10, in <module>                                                                                                                                                                                                │
│     from kubernetes_asyncio import client                                                                                                                                                                                                                                    │
│   File "/opt/conda/lib/python3.9/site-packages/kubernetes_asyncio/__init__.py", line 20, in <module>                                                                                                                                                                         │
│     import kubernetes_asyncio.config                                                                                                                                                                                                                                         │
│   File "/opt/conda/lib/python3.9/site-packages/kubernetes_asyncio/config/__init__.py", line 17, in <module>                                                                                                                                                                  │
│     from .kube_config import (                                                                                                                                                                                                                                               │
│   File "/opt/conda/lib/python3.9/site-packages/kubernetes_asyncio/config/kube_config.py", line 38, in <module>                                                                                                                                                               │
│     KUBE_CONFIG_DEFAULT_LOCATION = os.environ.get('KUBECONFIG', (pathlib.Path.home() / '.kube/config').as_posix())                                                                                                                                                           │
│   File "/opt/conda/lib/python3.9/pathlib.py", line 1143, in home                                                                                                                                                                                                             │
│     return cls(cls()._flavour.gethomedir(None))                                                                                                                                                                                                                              │
│   File "/opt/conda/lib/python3.9/pathlib.py", line 390, in gethomedir                                                                                                                                                                                                        │
│     return pwd.getpwuid(os.getuid()).pw_dir                                                                                                                                                                                                                                  │
│ KeyError: 'getpwuid(): uid not found: 1000'                                                                                                                                                                                                                                  │
│ INFO:     10.244.0.1:37522 - "GET /services/japps HTTP/1.1" 307 Temporary Redirect                                                                                                                                                                                           │
│ [W 2024-06-17 14:34:28.401 JupyterHub web:1873] 403 GET /hub/metrics (10.244.0.77): Access to metrics requires scope 'read:metrics'                                                                                                                                          │
│ [I 2024-06-17 14:34:28.401 JupyterHub _xsrf_utils:125] Setting new xsrf cookie for b'None:wPRYcN_IJtybo08D4Wy2yZm4jY9Hqtt79iT0ArgPCFc=' {'path': '/hub/', 'max_age': 3600}                                                                                                   │
│ [W 2024-06-17 14:34:28.403 JupyterHub log:192] 403 GET /hub/metrics (@10.244.0.77) 2.46ms                                                                                                                                                                                    │
│ [I 2024-06-17 14:34:41.635 JupyterHub log:192] 200 GET /hub/metrics (monitoring@10.244.0.77) 27.66ms

The broken release was done recently: https://pypi.org/project/kubernetes-asyncio/30.1.0/#history

Downgrade it to fix this for now.

Value and/or benefit

A working JupyterHub / jhub-apps.

Anything else?

No response