kubeadm: only print stderr/stdout if failed test

This commit is contained in:
Derek McQuay 2017-03-15 11:34:13 -07:00
parent 5826b09a19
commit 14d79f2cc0
No known key found for this signature in database
GPG Key ID: 92A7BC0C86B0B91A

View File

@ -19,8 +19,6 @@ package kubeadm
import (
"bytes"
"fmt"
"io"
"os"
"os/exec"
)
@ -29,12 +27,12 @@ import (
func RunCmd(command string, args ...string) (string, string, error) {
var bout, berr bytes.Buffer
cmd := exec.Command(command, args...)
cmd.Stdout = io.MultiWriter(os.Stdout, &bout)
cmd.Stderr = io.MultiWriter(os.Stderr, &berr)
cmd.Stdout = &bout
cmd.Stderr = &berr
err := cmd.Run()
stdout, stderr := bout.String(), berr.String()
if err != nil {
return "", "", fmt.Errorf("error running %s %v; got error %v, stdout %q, stderr %q",
return "", "", fmt.Errorf("error running %s %v; \ngot error %v, \nstdout %q, \nstderr %q",
command, args, err, stdout, stderr)
}
return stdout, stderr, nil