krr
krr copied to clipboard
Fedora brew install causes undefined symbol OPENSSL 3
Describe the bug
Seems like it has issue with the default python 3.13 which is installed on Fedora Linux 41.
I tried to set python/python3 alias python3.12 to no avail after having dnf install python3.12
Running Robusta's KRR (Kubernetes Resource Recommender) v1.17.0
Using strategy: Simple
Using formatter: table
/usr/lib64/python3.13/site-packages/cryptography/hazmat/bindings/_rust.abi3.so: undefined symbol: EVP_idea_ecb, version OPENSSL_3.0.0
[14:22:40] INFO Using clusters: ['us'] runner.py:280
/usr/lib64/python3.13/site-packages/cryptography/hazmat/bindings/_rust.abi3.so: undefined symbol: EVP_idea_ecb, version OPENSSL_3.0.0
INFO No Prometheus URL is specified, trying to auto-detect a metrics service loader.py:58
INFO Trying to connect to Victoria Metrics for us cluster prometheus_metrics_service.py:68
WARNING Unable to automatically discover a Victoria Metrics in the cluster ((403) loader.py:69
Reason: Forbidden
HTTP response headers: HTTPHeaderDict({'Audit-Id': '608a4eec-8735-4b51-ad2c-5a53fcfdc19d', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'X-Content-Type-Options': 'nosniff',
'X-Kubernetes-Pf-Flowschema-Uid': '588f7383-abb0-4700-b531-99d256e2fe7f', 'X-Kubernetes-Pf-Prioritylevel-Uid': 'a2efd8f3-fd4e-4c80-a588-a480c2d9d7da', 'Date': 'Fri, 08 Nov 2024 13:22:40 GMT',
'Content-Length': '265'})
HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"services is forbidden: User \"system:anonymous\" cannot list resource \"services\" in API group \"\" at
the cluster scope","reason":"Forbidden","details":{"kind":"services"},"code":403}
). Try specifying how to connect to Prometheus via cli options
INFO Trying to connect to Thanos for us cluster prometheus_metrics_service.py:68
[14:22:41] WARNING Unable to automatically discover a Thanos in the cluster ((403) loader.py:69
Reason: Forbidden
HTTP response headers: HTTPHeaderDict({'Audit-Id': '6bdbc0eb-4569-4617-8281-2ebc9d90eaa1', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'X-Content-Type-Options': 'nosniff',
'X-Kubernetes-Pf-Flowschema-Uid': '588f7383-abb0-4700-b531-99d256e2fe7f', 'X-Kubernetes-Pf-Prioritylevel-Uid': 'a2efd8f3-fd4e-4c80-a588-a480c2d9d7da', 'Date': 'Fri, 08 Nov 2024 13:22:40 GMT',
'Content-Length': '265'})
HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"services is forbidden: User \"system:anonymous\" cannot list resource \"services\" in API group \"\" at
the cluster scope","reason":"Forbidden","details":{"kind":"services"},"code":403}
). Try specifying how to connect to Prometheus via cli options
INFO Trying to connect to Mimir for us cluster prometheus_metrics_service.py:68
WARNING Unable to automatically discover a Mimir in the cluster ((403) loader.py:69
Reason: Forbidden
HTTP response headers: HTTPHeaderDict({'Audit-Id': '664aee52-4fe1-4486-876a-6128f5dd6360', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'X-Content-Type-Options': 'nosniff',
'X-Kubernetes-Pf-Flowschema-Uid': '588f7383-abb0-4700-b531-99d256e2fe7f', 'X-Kubernetes-Pf-Prioritylevel-Uid': 'a2efd8f3-fd4e-4c80-a588-a480c2d9d7da', 'Date': 'Fri, 08 Nov 2024 13:22:41 GMT',
'Content-Length': '265'})
HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"services is forbidden: User \"system:anonymous\" cannot list resource \"services\" in API group \"\" at
the cluster scope","reason":"Forbidden","details":{"kind":"services"},"code":403}
). Try specifying how to connect to Prometheus via cli options
INFO Trying to connect to Prometheus for us cluster prometheus_metrics_service.py:68
WARNING Unable to automatically discover a Prometheus in the cluster ((403) loader.py:69
Reason: Forbidden
HTTP response headers: HTTPHeaderDict({'Audit-Id': '347d10d8-988f-42e5-aec3-09a7634aaa65', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'X-Content-Type-Options': 'nosniff',
'X-Kubernetes-Pf-Flowschema-Uid': '588f7383-abb0-4700-b531-99d256e2fe7f', 'X-Kubernetes-Pf-Prioritylevel-Uid': 'a2efd8f3-fd4e-4c80-a588-a480c2d9d7da', 'Date': 'Fri, 08 Nov 2024 13:22:41 GMT',
'Content-Length': '265'})
HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"services is forbidden: User \"system:anonymous\" cannot list resource \"services\" in API group \"\" at
the cluster scope","reason":"Forbidden","details":{"kind":"services"},"code":403}
). Try specifying how to connect to Prometheus via cli options
ERROR Wasn't able to connect to any Prometheus service in us cluster runner.py:65
Try using port-forwarding and/or setting the url manually (using the -p flag.).
For more information, see 'Giving the Explicit Prometheus URL' at https://github.com/robusta-dev/krr?tab=readme-ov-file#usage
/usr/lib64/python3.13/site-packages/cryptography/hazmat/bindings/_rust.abi3.so: undefined symbol: EVP_idea_ecb, version OPENSSL_3.0.0
INFO Listing scannable objects in us __init__.py:96
ERROR Error trying to list hpa in cluster us: (403) __init__.py:494
Reason: Forbidden
HTTP response headers: HTTPHeaderDict({'Audit-Id': '35cc31ed-0290-4b4d-adc2-aec799a0284f', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'X-Content-Type-Options':
'nosniff', 'X-Kubernetes-Pf-Flowschema-Uid': '588f7383-abb0-4700-b531-99d256e2fe7f', 'X-Kubernetes-Pf-Prioritylevel-Uid': 'a2efd8f3-fd4e-4c80-a588-a480c2d9d7da', 'Date': 'Fri, 08 Nov 2024 13:22:41
GMT', 'Content-Length': '358'})
HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"horizontalpodautoscalers.autoscaling is forbidden: User \"system:anonymous\" cannot list resource
\"horizontalpodautoscalers\" in API group \"autoscaling\" at the cluster scope","reason":"Forbidden","details":{"group":"autoscaling","kind":"horizontalpodautoscalers"},"code":403}
Traceback (most recent call last):
File "robusta_krr/core/integrations/kubernetes/__init__.py", line 492, in _try_list_hpa
File "robusta_krr/core/integrations/kubernetes/__init__.py", line 481, in __list_hpa
File "robusta_krr/core/integrations/kubernetes/__init__.py", line 441, in __list_hpa_v2
File "robusta_krr/core/integrations/kubernetes/__init__.py", line 255, in _list_namespaced_or_global_objects
File "concurrent/futures/thread.py", line 58, in run
File "robusta_krr/core/integrations/kubernetes/__init__.py", line 234, in <lambda>
File "kubernetes/client/api/autoscaling_v2_api.py", line 651, in list_horizontal_pod_autoscaler_for_all_namespaces
File "kubernetes/client/api/autoscaling_v2_api.py", line 758, in list_horizontal_pod_autoscaler_for_all_namespaces_with_http_info
File "kubernetes/client/api_client.py", line 348, in call_api
File "kubernetes/client/api_client.py", line 180, in __call_api
File "kubernetes/client/api_client.py", line 373, in request
File "kubernetes/client/rest.py", line 241, in GET
File "kubernetes/client/rest.py", line 235, in request
kubernetes.client.exceptions.ApiException: (403)
Reason: Forbidden
HTTP response headers: HTTPHeaderDict({'Audit-Id': '35cc31ed-0290-4b4d-adc2-aec799a0284f', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'X-Content-Type-Options':
'nosniff', 'X-Kubernetes-Pf-Flowschema-Uid': '588f7383-abb0-4700-b531-99d256e2fe7f', 'X-Kubernetes-Pf-Prioritylevel-Uid': 'a2efd8f3-fd4e-4c80-a588-a480c2d9d7da', 'Date': 'Fri, 08 Nov 2024 13:22:41
GMT', 'Content-Length': '358'})
HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"horizontalpodautoscalers.autoscaling is forbidden: User \"system:anonymous\" cannot list resource
\"horizontalpodautoscalers\" in API group \"autoscaling\" at the cluster scope","reason":"Forbidden","details":{"group":"autoscaling","kind":"horizontalpodautoscalers"},"code":403}
ERROR Will assume that there are no HPA. Be careful as this may lead to inaccurate results if object actually has HPA. __init__.py:495
ERROR Error 403 listing Deployment in cluster us: Forbidden __init__.py:294
Traceback (most recent call last):
File "robusta_krr/core/integrations/kubernetes/__init__.py", line 279, in _list_scannable_objects
File "robusta_krr/core/integrations/kubernetes/__init__.py", line 255, in _list_namespaced_or_global_objects
File "concurrent/futures/thread.py", line 58, in run
File "robusta_krr/core/integrations/kubernetes/__init__.py", line 234, in <lambda>
File "kubernetes/client/api/apps_v1_api.py", line 2861, in list_deployment_for_all_namespaces
File "kubernetes/client/api/apps_v1_api.py", line 2968, in list_deployment_for_all_namespaces_with_http_info
File "kubernetes/client/api_client.py", line 348, in call_api
File "kubernetes/client/api_client.py", line 180, in __call_api
File "kubernetes/client/api_client.py", line 373, in request
File "kubernetes/client/rest.py", line 241, in GET
File "kubernetes/client/rest.py", line 235, in request
kubernetes.client.exceptions.ApiException: (403)
Reason: Forbidden
HTTP response headers: HTTPHeaderDict({'Audit-Id': '9708ed4b-d7a4-402d-9906-f2297258a32e', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'X-Content-Type-Options':
'nosniff', 'X-Kubernetes-Pf-Flowschema-Uid': '588f7383-abb0-4700-b531-99d256e2fe7f', 'X-Kubernetes-Pf-Prioritylevel-Uid': 'a2efd8f3-fd4e-4c80-a588-a480c2d9d7da', 'Date': 'Fri, 08 Nov 2024 13:22:41
GMT', 'Content-Length': '298'})
HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"deployments.apps is forbidden: User \"system:anonymous\" cannot list resource \"deployments\" in API
group \"apps\" at the cluster scope","reason":"Forbidden","details":{"group":"apps","kind":"deployments"},"code":403}
ERROR Will skip this object type and continue. __init__.py:295
[14:22:42] ERROR Error 403 listing Job in cluster us: Forbidden __init__.py:294
Traceback (most recent call last):
File "robusta_krr/core/integrations/kubernetes/__init__.py", line 279, in _list_scannable_objects
File "robusta_krr/core/integrations/kubernetes/__init__.py", line 255, in _list_namespaced_or_global_objects
File "concurrent/futures/thread.py", line 58, in run
File "robusta_krr/core/integrations/kubernetes/__init__.py", line 234, in <lambda>
File "kubernetes/client/api/batch_v1_api.py", line 1281, in list_job_for_all_namespaces
File "kubernetes/client/api/batch_v1_api.py", line 1388, in list_job_for_all_namespaces_with_http_info
File "kubernetes/client/api_client.py", line 348, in call_api
File "kubernetes/client/api_client.py", line 180, in __call_api
File "kubernetes/client/api_client.py", line 373, in request
File "kubernetes/client/rest.py", line 241, in GET
File "kubernetes/client/rest.py", line 235, in request
kubernetes.client.exceptions.ApiException: (403)
Reason: Forbidden
HTTP response headers: HTTPHeaderDict({'Audit-Id': '7a884fbf-8c40-4ad0-8d73-287955f9ebb6', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'X-Content-Type-Options':
'nosniff', 'X-Kubernetes-Pf-Flowschema-Uid': '588f7383-abb0-4700-b531-99d256e2fe7f', 'X-Kubernetes-Pf-Prioritylevel-Uid': 'a2efd8f3-fd4e-4c80-a588-a480c2d9d7da', 'Date': 'Fri, 08 Nov 2024 13:22:42
GMT', 'Content-Length': '280'})
HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"jobs.batch is forbidden: User \"system:anonymous\" cannot list resource \"jobs\" in API group
\"batch\" at the cluster scope","reason":"Forbidden","details":{"group":"batch","kind":"jobs"},"code":403}
ERROR Will skip this object type and continue. __init__.py:295
ERROR Error 403 listing DaemonSet in cluster us: Forbidden __init__.py:294
Traceback (most recent call last):
File "robusta_krr/core/integrations/kubernetes/__init__.py", line 279, in _list_scannable_objects
File "robusta_krr/core/integrations/kubernetes/__init__.py", line 255, in _list_namespaced_or_global_objects
File "concurrent/futures/thread.py", line 58, in run
File "robusta_krr/core/integrations/kubernetes/__init__.py", line 234, in <lambda>
File "kubernetes/client/api/apps_v1_api.py", line 2706, in list_daemon_set_for_all_namespaces
File "kubernetes/client/api/apps_v1_api.py", line 2813, in list_daemon_set_for_all_namespaces_with_http_info
File "kubernetes/client/api_client.py", line 348, in call_api
File "kubernetes/client/api_client.py", line 180, in __call_api
File "kubernetes/client/api_client.py", line 373, in request
File "kubernetes/client/rest.py", line 241, in GET
File "kubernetes/client/rest.py", line 235, in request
kubernetes.client.exceptions.ApiException: (403)
Reason: Forbidden
HTTP response headers: HTTPHeaderDict({'Audit-Id': '185e295f-ed56-4f0f-87e6-eeb8469f196f', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'X-Content-Type-Options':
'nosniff', 'X-Kubernetes-Pf-Flowschema-Uid': '588f7383-abb0-4700-b531-99d256e2fe7f', 'X-Kubernetes-Pf-Prioritylevel-Uid': 'a2efd8f3-fd4e-4c80-a588-a480c2d9d7da', 'Date': 'Fri, 08 Nov 2024 13:22:42
GMT', 'Content-Length': '295'})
HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"daemonsets.apps is forbidden: User \"system:anonymous\" cannot list resource \"daemonsets\" in API
group \"apps\" at the cluster scope","reason":"Forbidden","details":{"group":"apps","kind":"daemonsets"},"code":403}
ERROR Will skip this object type and continue. __init__.py:295
ERROR Error 403 listing CronJob in cluster us: Forbidden __init__.py:294
Traceback (most recent call last):
File "robusta_krr/core/integrations/kubernetes/__init__.py", line 279, in _list_scannable_objects
File "robusta_krr/core/integrations/kubernetes/__init__.py", line 255, in _list_namespaced_or_global_objects
File "concurrent/futures/thread.py", line 58, in run
File "robusta_krr/core/integrations/kubernetes/__init__.py", line 234, in <lambda>
File "kubernetes/client/api/batch_v1_api.py", line 1126, in list_cron_job_for_all_namespaces
File "kubernetes/client/api/batch_v1_api.py", line 1233, in list_cron_job_for_all_namespaces_with_http_info
File "kubernetes/client/api_client.py", line 348, in call_api
File "kubernetes/client/api_client.py", line 180, in __call_api
File "kubernetes/client/api_client.py", line 373, in request
File "kubernetes/client/rest.py", line 241, in GET
File "kubernetes/client/rest.py", line 235, in request
kubernetes.client.exceptions.ApiException: (403)
Reason: Forbidden
HTTP response headers: HTTPHeaderDict({'Audit-Id': 'a3d9a079-0dfd-485e-9cfa-cd41756a6465', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'X-Content-Type-Options':
'nosniff', 'X-Kubernetes-Pf-Flowschema-Uid': '588f7383-abb0-4700-b531-99d256e2fe7f', 'X-Kubernetes-Pf-Prioritylevel-Uid': 'a2efd8f3-fd4e-4c80-a588-a480c2d9d7da', 'Date': 'Fri, 08 Nov 2024 13:22:42
GMT', 'Content-Length': '292'})
HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"cronjobs.batch is forbidden: User \"system:anonymous\" cannot list resource \"cronjobs\" in API group
\"batch\" at the cluster scope","reason":"Forbidden","details":{"group":"batch","kind":"cronjobs"},"code":403}
ERROR Will skip this object type and continue. __init__.py:295
ERROR Error 403 listing StatefulSet in cluster us: Forbidden __init__.py:294
Traceback (most recent call last):
File "robusta_krr/core/integrations/kubernetes/__init__.py", line 279, in _list_scannable_objects
File "robusta_krr/core/integrations/kubernetes/__init__.py", line 255, in _list_namespaced_or_global_objects
File "concurrent/futures/thread.py", line 58, in run
File "robusta_krr/core/integrations/kubernetes/__init__.py", line 234, in <lambda>
File "kubernetes/client/api/apps_v1_api.py", line 3991, in list_stateful_set_for_all_namespaces
File "kubernetes/client/api/apps_v1_api.py", line 4098, in list_stateful_set_for_all_namespaces_with_http_info
File "kubernetes/client/api_client.py", line 348, in call_api
File "kubernetes/client/api_client.py", line 180, in __call_api
File "kubernetes/client/api_client.py", line 373, in request
File "kubernetes/client/rest.py", line 241, in GET
File "kubernetes/client/rest.py", line 235, in request
kubernetes.client.exceptions.ApiException: (403)
Reason: Forbidden
HTTP response headers: HTTPHeaderDict({'Audit-Id': '2281b795-6d59-44df-8000-5f26d154e18e', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'X-Content-Type-Options':
'nosniff', 'X-Kubernetes-Pf-Flowschema-Uid': '588f7383-abb0-4700-b531-99d256e2fe7f', 'X-Kubernetes-Pf-Prioritylevel-Uid': 'a2efd8f3-fd4e-4c80-a588-a480c2d9d7da', 'Date': 'Fri, 08 Nov 2024 13:22:42
GMT', 'Content-Length': '301'})
HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"statefulsets.apps is forbidden: User \"system:anonymous\" cannot list resource \"statefulsets\" in
API group \"apps\" at the cluster scope","reason":"Forbidden","details":{"group":"apps","kind":"statefulsets"},"code":403}
ERROR Will skip this object type and continue. __init__.py:295
ERROR An unexpected error occurred runner.py:349
Traceback (most recent call last):
File "robusta_krr/core/runner.py", line 342, in run
File "robusta_krr/core/runner.py", line 292, in _collect_result
AttributeError: 'NoneType' object has no attribute 'get_cluster_summary'
To Reproduce Only have python 3.13 installed. brew install krr
Expected behavior I would expect the brew install to pick the desired python version.
Are you interested in contributing a fix for this? Yes
Desktop (please complete the following information):
- OS: Fedora Linux 41
I am facing a similar issue on Fedora 42.
Running Robusta's KRR (Kubernetes Resource Recommender) v1.23.0
Using strategy: Simple
Using formatter: table
/home/linuxbrew/.linuxbrew/Cellar/krr/1.23.0/libexec/_internal/libcrypto.so.3: version `OPENSSL_3.2.0' not found (required by /usr/lib64/python3.13/site-packages/cryptography/hazmat/bindings/_rust.abi3.so)**
[10:53:46] INFO Using clusters: ['my-staging'] runner.py:284
/home/linuxbrew/.linuxbrew/Cellar/krr/1.23.0/libexec/_internal/libcrypto.so.3: version `OPENSSL_3.2.0' not found (required by /usr/lib64/python3.13/site-packages/cryptography/hazmat/bindings/_rust.abi3.so)
INFO Prometheus URL is specified, will not auto-detect a metrics service loader.py:55
INFO Trying to connect to Prometheus for my-staging cluster prometheus_metrics_service.py:69
INFO Using Prometheus at http://localhost:9090 for cluster my-staging prometheus_metrics_service.py:98
[10:53:47] INFO Prometheus found loader.py:74
INFO Prometheus connected successfully for my-staging cluster loader.py:47
/home/linuxbrew/.linuxbrew/Cellar/krr/1.23.0/libexec/_internal/libcrypto.so.3: version `OPENSSL_3.2.0' not found (required by /usr/lib64/python3.13/site-packages/cryptography/hazmat/bindings/_rust.abi3.so)
[10:53:48] INFO Listing scannable objects in my-staging __init__.py:96
ERROR Error trying to list hpa in cluster my-staging: (401) __init__.py:544
Reason: Unauthorized
HTTP response headers: HTTPHeaderDict({'Audit-Id': '50c33c92-89ab-4774-9050-fe2e67011f51', 'Cache-Control': 'no-cache,
private', 'Content-Type': 'application/json', 'Date': 'Mon, 05 May 2025 05:23:48 GMT', 'Content-Length': '129'})
HTTP response body:
{"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"Unauthorized","reason":"Unauthorized","code
":401}
Hi, thank you both for reporting. Does this work for you if running from source?
- Fedora 42 has
Python v3.13.3pre-installed, so installing from source also doesn't work.
$ python --version
Python 3.13.3
$ pip install -r requirements.txt
Defaulting to user installation because normal site-packages is not writeable
Ignoring about-time: markers 'python_version >= "3.9" and python_full_version < "3.13"' don't match your environment
Ignoring alive-progress: markers 'python_version >= "3.9" and python_full_version < "3.13"' don't match your environment
...
Hi, we're tracking some fixes for this in #435 and #436 - there is some complexity due to the dependency on matplotlib and PIL.
If you have ideas for a quicker fix please feel free to chime in!
You may also want to try running with pipx:
I haven't tried this on setup with only python3.13 but I think something like this might be possible:
pipx install --python 3.11 --fetch-missing-python "git+https://github.com/robusta-dev/krr"