diff --git a/airflow/providers/cncf/kubernetes/utils/pod_manager.py b/airflow/providers/cncf/kubernetes/utils/pod_manager.py index 993ba12e313fe..46e593a2c93df 100644 --- a/airflow/providers/cncf/kubernetes/utils/pod_manager.py +++ b/airflow/providers/cncf/kubernetes/utils/pod_manager.py @@ -375,14 +375,20 @@ def extract_xcom(self, pod: V1Pod) -> str: return result def _exec_pod_command(self, resp, command: str) -> Optional[str]: + res = None if resp.is_open(): self.log.info('Running command... %s\n', command) resp.write_stdin(command + '\n') while resp.is_open(): resp.update(timeout=1) - if resp.peek_stdout(): - return resp.read_stdout() - if resp.peek_stderr(): - self.log.info("stderr from command: %s", resp.read_stderr()) + while resp.peek_stdout(): + res = res + resp.read_stdout() if res else resp.read_stdout() + error_res = None + while resp.peek_stderr(): + error_res = error_res + resp.read_stderr() if error_res else resp.read_stderr() + if error_res: + self.log.info("stderr from command: %s", error_res) break - return None + if res: + return res + return res