From c9ad88301ed53733589adc6ade90ffc6e977e668 Mon Sep 17 00:00:00 2001 From: Brendan Burns Date: Thu, 16 Jun 2022 22:09:26 +0000 Subject: [PATCH] Add interactive configuration to exec provider. --- kubernetes/base/config/exec_provider.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/kubernetes/base/config/exec_provider.py b/kubernetes/base/config/exec_provider.py index 08f0af2fb..3f9c8ca0d 100644 --- a/kubernetes/base/config/exec_provider.py +++ b/kubernetes/base/config/exec_provider.py @@ -57,11 +57,12 @@ class ExecProvider(object): self.cwd = cwd or None def run(self, previous_response=None): + is_interactive = sys.stdout.isatty() kubernetes_exec_info = { 'apiVersion': self.api_version, 'kind': 'ExecCredential', 'spec': { - 'interactive': sys.stdout.isatty() + 'interactive': is_interactive } } if previous_response: @@ -70,7 +71,8 @@ class ExecProvider(object): process = subprocess.Popen( self.args, stdout=subprocess.PIPE, - stderr=subprocess.PIPE, + stderr=sys.stderr if is_interactive else subprocess.PIPE, + stdin=sys.stdin if is_interactive else None, cwd=self.cwd, env=self.env, universal_newlines=True)