From 859b562784ae27bcabed95f002c876651688a05e Mon Sep 17 00:00:00 2001 From: Pat O'Connor Date: Wed, 28 May 2025 08:54:58 +0100 Subject: [PATCH] fix(RHOAIENG-25120): remove kueue as mandatory in RayCluster Signed-off-by: Pat O'Connor --- .../ray/cluster/build_ray_cluster.py | 4 +++- src/codeflare_sdk/ray/cluster/cluster.py | 16 ++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/codeflare_sdk/ray/cluster/build_ray_cluster.py b/src/codeflare_sdk/ray/cluster/build_ray_cluster.py index 2a3436b26..89c51324c 100644 --- a/src/codeflare_sdk/ray/cluster/build_ray_cluster.py +++ b/src/codeflare_sdk/ray/cluster/build_ray_cluster.py @@ -488,9 +488,11 @@ def add_queue_label(cluster: "codeflare_sdk.ray.cluster.Cluster", labels: dict): if lq_name == None: return elif not local_queue_exists(cluster): - raise ValueError( + # ValueError removed to pass validation to validating admission policy + print( "local_queue provided does not exist or is not in this namespace. Please provide the correct local_queue name in Cluster Configuration" ) + return labels.update({"kueue.x-k8s.io/queue-name": lq_name}) diff --git a/src/codeflare_sdk/ray/cluster/cluster.py b/src/codeflare_sdk/ray/cluster/cluster.py index b42efd87e..be5609813 100644 --- a/src/codeflare_sdk/ray/cluster/cluster.py +++ b/src/codeflare_sdk/ray/cluster/cluster.py @@ -183,6 +183,14 @@ def up(self): f"Ray Cluster: '{self.config.name}' has successfully been created" ) except Exception as e: # pragma: no cover + if e.status == 422: + print( + "WARNING: RayCluster creation rejected by the validating admission policy. Please contact your administrator." + ) + else: + print( + "WARNING: Failed to create RayCluster due to unexpected error. Please contact your administrator." + ) return _kube_api_error_handling(e) # Applies a new cluster with the provided or default spec @@ -231,6 +239,14 @@ def apply(self, force=False): except AttributeError as e: raise RuntimeError(f"Failed to initialize DynamicClient: {e}") except Exception as e: # pragma: no cover + if e.status == 422: + print( + "WARNING: RayCluster creation rejected by the validating admission policy. Please contact your administrator." + ) + else: + print( + "WARNING: Failed to create RayCluster due to unexpected error. Please contact your administrator." + ) return _kube_api_error_handling(e) def _throw_for_no_raycluster(self):