From c61fef2016cbf4f0f3c58923ddc007170f47bb1e Mon Sep 17 00:00:00 2001 From: Henry Chen Date: Mon, 27 Apr 2026 21:45:56 +0800 Subject: [PATCH] Fix kubernetes cleanup-pods ignoring --verbose --- .../cncf/kubernetes/cli/kubernetes_command.py | 13 ++++++++----- .../unit/cncf/kubernetes/cli/test_definition.py | 3 +++ 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/providers/cncf/kubernetes/src/airflow/providers/cncf/kubernetes/cli/kubernetes_command.py b/providers/cncf/kubernetes/src/airflow/providers/cncf/kubernetes/cli/kubernetes_command.py index 0d0d15c57b111..bc3389c099085 100644 --- a/providers/cncf/kubernetes/src/airflow/providers/cncf/kubernetes/cli/kubernetes_command.py +++ b/providers/cncf/kubernetes/src/airflow/providers/cncf/kubernetes/cli/kubernetes_command.py @@ -149,10 +149,11 @@ def cleanup_pods(args): # * OnFailure: Restart Container; Pod phase stays Running. # * Never: Pod phase becomes Failed. pod_restart_policy_never = "never" - - print("Loading Kubernetes configuration") + if args.verbose: + print("Loading Kubernetes configuration") kube_client = get_kube_client() - print(f"Listing pods in namespace {namespace}") + if args.verbose: + print(f"Listing pods in namespace {namespace}") airflow_pod_labels = [ "dag_id", "task_id", @@ -165,7 +166,8 @@ def cleanup_pods(args): pod_list = kube_client.list_namespaced_pod(**list_kwargs) for pod in pod_list.items: pod_name = pod.metadata.name - print(f"Inspecting pod {pod_name}") + if args.verbose: + print(f"Inspecting pod {pod_name}") pod_phase = pod.status.phase.lower() pod_reason = pod.status.reason.lower() if pod.status.reason else "" pod_restart_policy = pod.spec.restart_policy.lower() @@ -190,7 +192,8 @@ def cleanup_pods(args): except ApiException as e: print(f"Can't remove POD: {e}", file=sys.stderr) else: - print(f"No action taken on pod {pod_name}") + if args.verbose: + print(f"No action taken on pod {pod_name}") continue_token = pod_list.metadata._continue if not continue_token: break diff --git a/providers/cncf/kubernetes/tests/unit/cncf/kubernetes/cli/test_definition.py b/providers/cncf/kubernetes/tests/unit/cncf/kubernetes/cli/test_definition.py index 4ffd0f224a90f..8572473b836df 100644 --- a/providers/cncf/kubernetes/tests/unit/cncf/kubernetes/cli/test_definition.py +++ b/providers/cncf/kubernetes/tests/unit/cncf/kubernetes/cli/test_definition.py @@ -85,10 +85,12 @@ def test_cleanup_pods_command_args(self): "my-namespace", "--min-pending-minutes", "60", + "--verbose", ] args = self.arg_parser.parse_args(params) assert args.namespace == "my-namespace" assert args.min_pending_minutes == 60 + assert args.verbose is True def test_cleanup_pods_command_default_args(self): """Test cleanup-pods command with default arguments.""" @@ -97,6 +99,7 @@ def test_cleanup_pods_command_default_args(self): # Should use default values from configuration assert hasattr(args, "namespace") assert args.min_pending_minutes == 30 + assert args.verbose is False def test_generate_dag_yaml_command_args(self): """Test generate-dag-yaml command with various arguments."""