diff --git a/src/codeflare_sdk/utils/generate_yaml.py b/src/codeflare_sdk/utils/generate_yaml.py index 183705642..3e692480e 100755 --- a/src/codeflare_sdk/utils/generate_yaml.py +++ b/src/codeflare_sdk/utils/generate_yaml.py @@ -30,6 +30,7 @@ from os import urandom from base64 import b64encode from urllib3.util import parse_url +from kubernetes.client.exceptions import ApiException def read_template(template): @@ -191,8 +192,11 @@ def get_default_kueue_name(namespace: str): namespace=namespace, plural="localqueues", ) - except Exception as e: # pragma: no cover - return _kube_api_error_handling(e) + except ApiException as e: # pragma: no cover + if e.status == 404 or e.status == 403: + return + else: + return _kube_api_error_handling(e) for lq in local_queues["items"]: if ( "annotations" in lq["metadata"] @@ -201,9 +205,6 @@ def get_default_kueue_name(namespace: str): == "true" ): return lq["metadata"]["name"] - raise ValueError( - "Default Local Queue with kueue.x-k8s.io/default-queue: true annotation not found please create a default Local Queue or provide the local_queue name in Cluster Configuration" - ) def local_queue_exists(namespace: str, local_queue_name: str): @@ -228,7 +229,9 @@ def local_queue_exists(namespace: str, local_queue_name: str): def add_queue_label(item: dict, namespace: str, local_queue: Optional[str]): lq_name = local_queue or get_default_kueue_name(namespace) - if not local_queue_exists(namespace, lq_name): + if lq_name == None: + return + elif not local_queue_exists(namespace, lq_name): raise ValueError( "local_queue provided does not exist or is not in this namespace. Please provide the correct local_queue name in Cluster Configuration" )