diff --git a/pkg/kubectl/cmd/run.go b/pkg/kubectl/cmd/run.go index 5526ff4b1a6..3b1fb878d9e 100644 --- a/pkg/kubectl/cmd/run.go +++ b/pkg/kubectl/cmd/run.go @@ -362,7 +362,7 @@ func RunRun(f cmdutil.Factory, cmdIn io.Reader, cmdOut, cmdErr io.Writer, cmd *c return unknownRcErr } return uexec.CodeExitError{ - Err: fmt.Errorf("pod %s/%s terminated", pod.Namespace, pod.Name), + Err: fmt.Errorf("pod %s/%s terminated (%s)\n%s", pod.Namespace, pod.Name, pod.Status.ContainerStatuses[0].State.Terminated.Reason, pod.Status.ContainerStatuses[0].State.Terminated.Message), Code: int(rc), } default: diff --git a/pkg/kubectl/cmd/util/helpers.go b/pkg/kubectl/cmd/util/helpers.go index dceceb077b1..bf5f57ce5ab 100644 --- a/pkg/kubectl/cmd/util/helpers.go +++ b/pkg/kubectl/cmd/util/helpers.go @@ -166,8 +166,7 @@ func checkErr(err error, handleErr func(string, int)) { case utilerrors.Aggregate: handleErr(MultipleErrors(``, err.Errors()), DefaultErrorExitCode) case utilexec.ExitError: - // do not print anything, only terminate with given error - handleErr("", err.ExitStatus()) + handleErr(err.Error(), err.ExitStatus()) default: // for any other error type msg, ok := StandardErrorMessage(err) if !ok { diff --git a/pkg/kubectl/cmd/util/helpers_test.go b/pkg/kubectl/cmd/util/helpers_test.go index 87fa3c8a593..eb64a960213 100644 --- a/pkg/kubectl/cmd/util/helpers_test.go +++ b/pkg/kubectl/cmd/util/helpers_test.go @@ -267,7 +267,7 @@ func TestCheckExitError(t *testing.T) { testCheckError(t, []checkErrTestCase{ { uexec.CodeExitError{Err: fmt.Errorf("pod foo/bar terminated"), Code: 42}, - "", + "pod foo/bar terminated", 42, }, })