From 2c6c4bacce2cf951632b027cd64f7ebad72293db Mon Sep 17 00:00:00 2001 From: Qubasa Date: Thu, 11 Jan 2024 22:28:35 +0100 Subject: [PATCH] Identified deadlocking funciton --- pkgs/clan-cli/clan_cli/cmd.py | 2 +- pkgs/clan-cli/clan_cli/secrets/generate.py | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/pkgs/clan-cli/clan_cli/cmd.py b/pkgs/clan-cli/clan_cli/cmd.py index 450d131dc..53a5a79c1 100644 --- a/pkgs/clan-cli/clan_cli/cmd.py +++ b/pkgs/clan-cli/clan_cli/cmd.py @@ -72,7 +72,7 @@ def run( ) stdout_buf, stderr_buf = handle_output(process, log) - + # stdout_buf, stderr_buf = process.communicate() # Wait for the subprocess to finish rc = process.wait() cmd_out = CmdOut( diff --git a/pkgs/clan-cli/clan_cli/secrets/generate.py b/pkgs/clan-cli/clan_cli/secrets/generate.py index 88f5b02f0..46813a601 100644 --- a/pkgs/clan-cli/clan_cli/secrets/generate.py +++ b/pkgs/clan-cli/clan_cli/secrets/generate.py @@ -1,9 +1,11 @@ import argparse import logging import os +import subprocess import sys -from ..cmd import Log, run +from clan_cli.errors import ClanError + from ..machines.machines import Machine log = logging.getLogger(__name__) @@ -15,14 +17,15 @@ def generate_secrets(machine: Machine) -> None: env["PYTHONPATH"] = ":".join(sys.path) # TODO do this in the clanCore module print(f"generating secrets... {machine.generate_secrets}") - run( + proc = subprocess.run( [machine.generate_secrets], env=env, - error_msg="failed to generate secrets", - log=Log.BOTH, ) - print("successfully generated secrets") + if proc.returncode != 0: + raise ClanError("failed to generate secrets") + else: + print("successfully generated secrets") def generate_command(args: argparse.Namespace) -> None: