diff --git a/pkg/kubelet/prober/prober.go b/pkg/kubelet/prober/prober.go index f766c132d28..e94483a09f0 100644 --- a/pkg/kubelet/prober/prober.go +++ b/pkg/kubelet/prober/prober.go @@ -271,11 +271,11 @@ func (eic *execInContainer) Output() ([]byte, error) { } func (eic *execInContainer) SetDir(dir string) { - //unimplemented + // unimplemented } func (eic *execInContainer) SetStdin(in io.Reader) { - //unimplemented + // unimplemented } func (eic *execInContainer) SetStdout(out io.Writer) { @@ -287,11 +287,11 @@ func (eic *execInContainer) SetStderr(out io.Writer) { } func (eic *execInContainer) SetEnv(env []string) { - //unimplemented + // unimplemented } func (eic *execInContainer) Stop() { - //unimplemented + // unimplemented } func (eic *execInContainer) Start() error { diff --git a/pkg/probe/exec/exec.go b/pkg/probe/exec/exec.go index 164d21bd112..e9673257930 100644 --- a/pkg/probe/exec/exec.go +++ b/pkg/probe/exec/exec.go @@ -72,7 +72,8 @@ func (pr execProber) Probe(e exec.Cmd) (probe.Result, string, error) { timeoutErr, ok := err.(*TimeoutError) if ok { if utilfeature.DefaultFeatureGate.Enabled(features.ExecProbeTimeout) { - return probe.Failure, string(data), nil + // When exec probe timeout, data is empty, so we should return timeoutErr.Error() as the stdout. + return probe.Failure, timeoutErr.Error(), nil } klog.Warningf("Exec probe timed out after %s but ExecProbeTimeout feature gate was disabled", timeoutErr.Timeout()) diff --git a/pkg/probe/exec/exec_test.go b/pkg/probe/exec/exec_test.go index 300b3d8746c..6083da3af98 100644 --- a/pkg/probe/exec/exec_test.go +++ b/pkg/probe/exec/exec_test.go @@ -21,6 +21,7 @@ import ( "io" "strings" "testing" + "time" "k8s.io/kubernetes/pkg/probe" ) @@ -122,6 +123,8 @@ func TestExec(t *testing.T) { {probe.Unknown, true, "", "", fmt.Errorf("test error")}, // Unhealthy {probe.Failure, false, "Fail", "", &fakeExitError{true, 1}}, + // Timeout + {probe.Failure, false, "", "command testcmd timed out", NewTimeoutError(fmt.Errorf("command testcmd timed out"), time.Second)}, } for i, test := range tests { fake := FakeCmd{