From 61add797e6fa0e1d36fb0e4b64825e0ccafbb1a9 Mon Sep 17 00:00:00 2001 From: Bobbins228 Date: Thu, 16 May 2024 14:12:18 +0100 Subject: [PATCH] Fixed get_current_namespace for in-cluster configuration --- src/codeflare_sdk/cluster/cluster.py | 31 +++++++++++++++++++++------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/src/codeflare_sdk/cluster/cluster.py b/src/codeflare_sdk/cluster/cluster.py index 89396b662..e8eea2847 100644 --- a/src/codeflare_sdk/cluster/cluster.py +++ b/src/codeflare_sdk/cluster/cluster.py @@ -630,14 +630,29 @@ def get_current_namespace(): # pragma: no cover print("Unable to find current namespace") return None else: - try: - _, active_context = config.list_kube_config_contexts(config_check()) - except Exception as e: - return _kube_api_error_handling(e) - try: - return active_context["context"]["namespace"] - except KeyError: - return None + if "KUBERNETES_PORT" in os.environ: + if os.path.isfile( + "/var/run/secrets/kubernetes.io/serviceaccount/namespace" + ): + try: + file = open( + "/var/run/secrets/kubernetes.io/serviceaccount/namespace", "r" + ) + active_context = file.readline().strip("\n") + return active_context + except Exception as e: + print( + "unable to gather namespace from /var/run/secrets/kubernetes.io/serviceaccount/namespace trying to gather from current context" + ) + else: + try: + _, active_context = config.list_kube_config_contexts(config_check()) + except Exception as e: + return _kube_api_error_handling(e) + try: + return active_context["context"]["namespace"] + except KeyError: + return None def get_cluster(