in azure-slurm/slurmcc/util.py [0:0]
def run(args: list, stdout=subprocesslib.PIPE, stderr=subprocesslib.PIPE, timeout=120, shell=False, check=True, universal_newlines=True, **kwargs):
"""
run arbitrary command through subprocess.run with some sensible defaults.
Standard streams are defaulted to subprocess stdout/stderr pipes.
Encoding defaulted to string
Timeout defaulted to 2 minutes.
"""
try:
output = subprocesslib.run(args=args, stdout=stdout, stderr=stderr, timeout=timeout, shell=shell, check=check, universal_newlines=universal_newlines, **kwargs)
except subprocesslib.CalledProcessError as e:
logging.error(f"cmd: {e.cmd}, rc: {e.returncode}")
logging.error(e.stderr)
raise
except subprocesslib.TimeoutExpired as t:
logging.error("Timeout Expired")
raise
except Exception as e:
logging.error(e)
raise
return output