From 644d66e81877c2a51dbfcb7681f692c55b910a2f Mon Sep 17 00:00:00 2001 From: Roi Glinik Date: Thu, 19 Dec 2024 12:27:32 +0200 Subject: [PATCH 1/2] add fix for cr labels handling --- robusta_krr/core/integrations/kubernetes/__init__.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/robusta_krr/core/integrations/kubernetes/__init__.py b/robusta_krr/core/integrations/kubernetes/__init__.py index f63f81b4..b6647546 100644 --- a/robusta_krr/core/integrations/kubernetes/__init__.py +++ b/robusta_krr/core/integrations/kubernetes/__init__.py @@ -202,10 +202,12 @@ def __build_scannable_object( kind = kind or item.__class__.__name__[2:] labels = {} - annotations = {} - if item.metadata.labels: + if type(item.metadata.labels) is ObjectLikeDict: + labels = item.metadata.labels.__dict__ + else: labels = item.metadata.labels + annotations = {} if item.metadata.annotations: if type(item.metadata.annotations) is ObjectLikeDict: annotations = item.metadata.annotations.__dict__ From ffaf3ffdb570c2f2bf3f1a649fda035a9b65be17 Mon Sep 17 00:00:00 2001 From: Roi Glinik Date: Thu, 19 Dec 2024 12:30:03 +0200 Subject: [PATCH 2/2] fix exception when theres no metrics source --- robusta_krr/core/runner.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/robusta_krr/core/runner.py b/robusta_krr/core/runner.py index 9a8b1a81..e8c6e7f3 100644 --- a/robusta_krr/core/runner.py +++ b/robusta_krr/core/runner.py @@ -289,7 +289,10 @@ async def _collect_result(self) -> Result: if not clusters or len(clusters) == 1: cluster_name = clusters[0] if clusters else None # its none if krr is running inside cluster prometheus_loader = self._get_prometheus_loader(cluster_name) - cluster_summary = await prometheus_loader.get_cluster_summary() + if prometheus_loader: + cluster_summary = await prometheus_loader.get_cluster_summary() + else: + cluster_summary = {} else: cluster_summary = {} scans = await asyncio.gather(*[self._gather_object_allocations(k8s_object) for k8s_object in workloads])