From: Pedro Escaleira Date: Sat, 23 Jul 2022 22:34:42 +0000 (+0100) Subject: Bug 2123 fixed X-Git-Tag: release-v13.0-start~10 X-Git-Url: https://osm.etsi.org/gitweb/?a=commitdiff_plain;h=d381799865c4c56fd78c6ee17512239ea4496fb6;p=osm%2FN2VC.git Bug 2123 fixed - Killing the subprocesses launched in both _local_async_exec and _local_async_exec_pipe methods if cancelled Change-Id: I89d15fa20246407f8e5942960151b1265ec2d298 Signed-off-by: Pedro Escaleira --- diff --git a/n2vc/k8s_helm_base_conn.py b/n2vc/k8s_helm_base_conn.py index c20b55d..afd9d5e 100644 --- a/n2vc/k8s_helm_base_conn.py +++ b/n2vc/k8s_helm_base_conn.py @@ -1547,6 +1547,9 @@ class K8sHelmBaseConnector(K8sConnector): return output, return_code except asyncio.CancelledError: + # first, kill the process if it is still running + if process.returncode is None: + process.kill() raise except K8sException: raise @@ -1586,7 +1589,7 @@ class K8sHelmBaseConnector(K8sConnector): try: async with self.cmd_lock: read, write = os.pipe() - await asyncio.create_subprocess_exec( + process_1 = await asyncio.create_subprocess_exec( *command1, stdout=write, env=environ ) os.close(write) @@ -1622,6 +1625,10 @@ class K8sHelmBaseConnector(K8sConnector): return output, return_code except asyncio.CancelledError: + # first, kill the processes if they are still running + for process in (process_1, process_2): + if process.returncode is None: + process.kill() raise except K8sException: raise