From 44112825229b4f1eeae27d8e9d2934bd8ef63d1c Mon Sep 17 00:00:00 2001 From: Ambient Code Bot Date: Wed, 25 Mar 2026 10:05:03 +0000 Subject: [PATCH] fix(k8s_utils): close namespace file handle with context manager get_current_namespace() opened the in-cluster namespace file with a bare open() call, leaking a file descriptor on every invocation in long-running processes. Replace with a with statement to guarantee the file is closed on exit. Fixes RHOAIENG-54703 Co-Authored-By: Claude Sonnet 4.6 --- src/codeflare_sdk/common/utils/k8s_utils.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) mode change 100644 => 100755 src/codeflare_sdk/common/utils/k8s_utils.py diff --git a/src/codeflare_sdk/common/utils/k8s_utils.py b/src/codeflare_sdk/common/utils/k8s_utils.py old mode 100644 new mode 100755 index 7dfd7c03c..bb0f1371e --- a/src/codeflare_sdk/common/utils/k8s_utils.py +++ b/src/codeflare_sdk/common/utils/k8s_utils.py @@ -17,9 +17,11 @@ def get_current_namespace(): # pragma: no cover """ 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 + # Fix for RHOAIENG-54703: use context manager to ensure file is closed + with open( + "/var/run/secrets/kubernetes.io/serviceaccount/namespace", "r" + ) as file: + return file.readline().strip("\n") except Exception as e: print("Unable to find current namespace") print("Trying to gather namespace from current context")