From ef2ede24434ccd5cf39e42d4f4e03ce95e14eee3 Mon Sep 17 00:00:00 2001 From: Brad Stein Date: Thu, 29 Jan 2026 14:59:17 -0300 Subject: [PATCH] cluster: include overcommitted namespaces --- ariadne/services/cluster_state.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/ariadne/services/cluster_state.py b/ariadne/services/cluster_state.py index 7f9b05f..fdef6c1 100644 --- a/ariadne/services/cluster_state.py +++ b/ariadne/services/cluster_state.py @@ -1579,8 +1579,18 @@ def _namespace_capacity_summary(capacity: list[dict[str, Any]]) -> dict[str, Any ) cpu_headroom.sort(key=lambda item: (item.get("headroom") or 0)) mem_headroom.sort(key=lambda item: (item.get("headroom") or 0)) - over_cpu = sum(1 for entry in cpu_ratio if (entry.get("cpu_usage_ratio") or 0) > 1) - over_mem = sum(1 for entry in mem_ratio if (entry.get("mem_usage_ratio") or 0) > 1) + cpu_over_names = [ + entry.get("namespace") + for entry in cpu_ratio + if (entry.get("cpu_usage_ratio") or 0) > 1 and entry.get("namespace") + ] + mem_over_names = [ + entry.get("namespace") + for entry in mem_ratio + if (entry.get("mem_usage_ratio") or 0) > 1 and entry.get("namespace") + ] + over_cpu = len(cpu_over_names) + over_mem = len(mem_over_names) return { "cpu_ratio_top": cpu_ratio[:_NAMESPACE_TOP_COUNT], "mem_ratio_top": mem_ratio[:_NAMESPACE_TOP_COUNT], @@ -1588,6 +1598,8 @@ def _namespace_capacity_summary(capacity: list[dict[str, Any]]) -> dict[str, Any "mem_headroom_low": mem_headroom[:_NAMESPACE_TOP_COUNT], "cpu_overcommitted": over_cpu, "mem_overcommitted": over_mem, + "cpu_overcommitted_names": sorted({name for name in cpu_over_names if isinstance(name, str)}), + "mem_overcommitted_names": sorted({name for name in mem_over_names if isinstance(name, str)}), }