From 0c2905d2a3a0f2559a717b0b5a6a6687c39b00c4 Mon Sep 17 00:00:00 2001 From: "Brian C. Lane" Date: Tue, 4 Aug 2015 10:50:37 -0700 Subject: [PATCH] Return the output from failed commands in CalledProcessError Some callers expect CalledProcessError.output to have the output, so pass up the stdout + stderr output. This means failed runcmd template commands will log to program.log and lorax.log (cherry picked from commit 522ec34360e9f7a2391e2437b57af57a4d019b72) --- src/pylorax/executils.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/pylorax/executils.py b/src/pylorax/executils.py index 25c9eef9..4d7d6110 100644 --- a/src/pylorax/executils.py +++ b/src/pylorax/executils.py @@ -195,7 +195,8 @@ def _run_program(argv, root='/', stdin=None, stdout=None, env_prune=None, log_ou program_log.debug("Return code: %d", proc.returncode) if proc.returncode and raise_err: - raise subprocess.CalledProcessError(proc.returncode, argv) + output = output_string or "" + err_string or "" + raise subprocess.CalledProcessError(proc.returncode, argv, output) return (proc.returncode, output_string)