From cdf13b4e2bdccb67d61b2757400714678b09f844 Mon Sep 17 00:00:00 2001 From: andersonid Date: Mon, 29 Sep 2025 17:53:58 -0300 Subject: [PATCH] Fix: adicionado metodo _determine_qos_class faltante --- app/services/validation_service.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/app/services/validation_service.py b/app/services/validation_service.py index 4f3271e..582aa46 100644 --- a/app/services/validation_service.py +++ b/app/services/validation_service.py @@ -298,6 +298,26 @@ class ValidationService: else: return int(value) + def _determine_qos_class(self, requests: Dict[str, str], limits: Dict[str, str]) -> str: + """Determine QoS class based on requests and limits""" + cpu_requests = self._parse_cpu_value(requests.get("cpu", "0")) + memory_requests = self._parse_memory_value(requests.get("memory", "0")) / (1024 * 1024 * 1024) # Convert to GB + cpu_limits = self._parse_cpu_value(limits.get("cpu", "0")) + memory_limits = self._parse_memory_value(limits.get("memory", "0")) / (1024 * 1024 * 1024) # Convert to GB + + # Guaranteed: both CPU and memory requests and limits are set and equal + if (cpu_requests > 0 and memory_requests > 0 and + cpu_requests == cpu_limits and memory_requests == memory_limits): + return "Guaranteed" + + # Burstable: at least one request is set + elif cpu_requests > 0 or memory_requests > 0: + return "Burstable" + + # BestEffort: no requests set + else: + return "BestEffort" + def validate_namespace_overcommit( self, namespace_resources: NamespaceResources,