Hi, I am updating Jupyterhub by moving to use Python 3.11 (currently using Python 3.8 and jupyterhub==1.5.0) but I am having an issue because Jupyterhub is not able to run/executed.
When Jupyterhub is triying to launch is showing this error.
-- running run from builder
Fri Mar 7 05:02:49 PM UTC 2025 : Starting Jupyterhub process (logging to syslog)
*[E 2025-03-07 17:02:51.145 JupyterHub app:3408]*
* Traceback (most recent call last):*
* File "/opt/app-root/lib64/python3.11/site-packages/jupyterhub/app.py", line 3405, in launch_instance_async*
* await self.initialize(argv)*
* File "/opt/app-root/lib64/python3.11/site-packages/jupyterhub/app.py", line 2883, in initialize*
* self.load_config_file(self.config_file)*
* File "/opt/app-root/lib64/python3.11/site-packages/traitlets/config/application.py", line 113, in inner*
* return method(app, *args, **kwargs)*
* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^*
* File "/opt/app-root/lib64/python3.11/site-packages/traitlets/config/application.py", line 950, in load_config_file*
* for (config, fname) in self._load_config_files(*
* File "/opt/app-root/lib64/python3.11/site-packages/traitlets/config/application.py", line 909, in _load_config_files*
* config = loader.load_config()*
* ^^^^^^^^^^^^^^^^^^^^*
* File "/opt/app-root/lib64/python3.11/site-packages/traitlets/config/loader.py", line 626, in load_config*
* self._read_file_as_dict()*
* File "/opt/app-root/lib64/python3.11/site-packages/traitlets/config/loader.py", line 659, in _read_file_as_dict*
* exec(compile(f.read(), conf_filename, "exec"), namespace, namespace) # noqa*
* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*
* File "/opt/app-root/etc/jupyterhub_config.py", line 59, in <module>*
* api_client = DynamicClient(ApiClient())*
* ^^^^^^^^^^^^^^^^^^^^^^^^^^*
* File "/opt/app-root/lib64/python3.11/site-packages/openshift/dynamic/client.py", line 40, in __init__*
* K8sDynamicClient.__init__(self, client, cache_file=cache_file, discoverer=discoverer)*
* File "/opt/app-root/lib64/python3.11/site-packages/kubernetes/dynamic/client.py", line 84, in __init__*
* self.__discoverer = discoverer(self, cache_file)*
* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^*
* File "/opt/app-root/lib64/python3.11/site-packages/kubernetes/dynamic/discovery.py", line 228, in __init__*
* Discoverer.__init__(self, client, cache_file)*
* File "/opt/app-root/lib64/python3.11/site-packages/kubernetes/dynamic/discovery.py", line 54, in __init__*
* self.__init_cache()*
* File "/opt/app-root/lib64/python3.11/site-packages/kubernetes/dynamic/discovery.py", line 70, in __init_cache*
* self._load_server_info()*
* File "/opt/app-root/lib64/python3.11/site-packages/openshift/dynamic/discovery.py", line 98, in _load_server_info*
* 'kubernetes': self.client.request('get', '/version', serializer=just_json)*
* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*
* File "/opt/app-root/lib64/python3.11/site-packages/kubernetes/dynamic/client.py", line 55, in inner*
* resp = func(self, *args, **kwargs)*
* ^^^^^^^^^^^^^^^^^^^^^^^^^^^*
* File "/opt/app-root/lib64/python3.11/site-packages/kubernetes/dynamic/client.py", line 273, in request*
* api_response = self.client.call_api(*
* ^^^^^^^^^^^^^^^^^^^^^*
* File "/opt/app-root/lib64/python3.11/site-packages/kubernetes/client/api_client.py", line 348, in call_api*
* return self.__call_api(resource_path, method,*
* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*
* File "/opt/app-root/lib64/python3.11/site-packages/kubernetes/client/api_client.py", line 180, in __call_api*
* response_data = self.request(*
* ^^^^^^^^^^^^^*
* File "/opt/app-root/lib64/python3.11/site-packages/kubernetes/client/api_client.py", line 373, in request*
* return self.rest_client.GET(url,*
* ^^^^^^^^^^^^^^^^^^^^^^^^^*
* File "/opt/app-root/lib64/python3.11/site-packages/kubernetes/client/rest.py", line 244, in GET*
* return self.request("GET", url,*
* ^^^^^^^^^^^^^^^^^^^^^^^^*
* File "/opt/app-root/lib64/python3.11/site-packages/kubernetes/client/rest.py", line 217, in request*
* r = self.pool_manager.request(method, url,*
* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*
* File "/opt/app-root/lib64/python3.11/site-packages/urllib3/_request_methods.py", line 136, in request*
* return self.request_encode_url(*
* ^^^^^^^^^^^^^^^^^^^^^^^^*
* File "/opt/app-root/lib64/python3.11/site-packages/urllib3/_request_methods.py", line 183, in request_encode_url*
* return self.urlopen(method, url, **extra_kw)*
* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*
* File "/opt/app-root/lib64/python3.11/site-packages/urllib3/poolmanager.py", line 444, in urlopen*
* response = conn.urlopen(method, u.request_uri, **kw)*
* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*
* File "/opt/app-root/lib64/python3.11/site-packages/urllib3/connectionpool.py", line 877, in urlopen*
* return self.urlopen(*
* ^^^^^^^^^^^^^*
* File "/opt/app-root/lib64/python3.11/site-packages/urllib3/connectionpool.py", line 877, in urlopen*
* return self.urlopen(*
* ^^^^^^^^^^^^^*
* File "/opt/app-root/lib64/python3.11/site-packages/urllib3/connectionpool.py", line 877, in urlopen*
* return self.urlopen(*
* ^^^^^^^^^^^^^*
* File "/opt/app-root/lib64/python3.11/site-packages/urllib3/connectionpool.py", line 847, in urlopen*
* retries = retries.increment(*
* ^^^^^^^^^^^^^^^^^^*
* File "/opt/app-root/lib64/python3.11/site-packages/urllib3/util/retry.py", line 515, in increment*
* raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]*
* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*
* urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', port=80): Max retries exceeded with url: /version (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fd0ccbd3d50>: Failed to establish a new connection: [Errno 111] Connection refused'))*
Package Versions used
jupyterhub==4.1.0
Python == 3.11
I will appreciated any help and support on this case.
Thanks in advanced.