From 5eab76934b10da525c6cbcc07d0b6a55eee632fb Mon Sep 17 00:00:00 2001 From: Seth Jennings Date: Mon, 24 Sep 2018 15:25:28 -0500 Subject: [PATCH] improve pleg error msg when it has never been successful --- pkg/kubelet/pleg/generic.go | 3 +++ pkg/kubelet/pleg/generic_test.go | 10 +++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/pkg/kubelet/pleg/generic.go b/pkg/kubelet/pleg/generic.go index d9286c96c62..d523356234d 100644 --- a/pkg/kubelet/pleg/generic.go +++ b/pkg/kubelet/pleg/generic.go @@ -132,6 +132,9 @@ func (g *GenericPLEG) Start() { func (g *GenericPLEG) Healthy() (bool, error) { relistTime := g.getRelistTime() + if relistTime.IsZero() { + return false, fmt.Errorf("pleg has yet to be successful") + } elapsed := g.clock.Since(relistTime) if elapsed > relistThreshold { return false, fmt.Errorf("pleg was last seen active %v ago; threshold is %v", elapsed, relistThreshold) diff --git a/pkg/kubelet/pleg/generic_test.go b/pkg/kubelet/pleg/generic_test.go index 468f98bffae..2e972ed4521 100644 --- a/pkg/kubelet/pleg/generic_test.go +++ b/pkg/kubelet/pleg/generic_test.go @@ -346,9 +346,11 @@ func TestRemoveCacheEntry(t *testing.T) { func TestHealthy(t *testing.T) { testPleg := newTestGenericPLEG() + + // pleg should initially be unhealthy pleg, _, clock := testPleg.pleg, testPleg.runtime, testPleg.clock ok, _ := pleg.Healthy() - assert.True(t, ok, "pleg should be healthy") + assert.False(t, ok, "pleg should be unhealthy") // Advance the clock without any relisting. clock.Step(time.Minute * 10) @@ -361,6 +363,12 @@ func TestHealthy(t *testing.T) { clock.Step(time.Minute * 1) ok, _ = pleg.Healthy() assert.True(t, ok, "pleg should be healthy") + + // Advance by relistThreshold without any relisting. pleg should be unhealthy + // because it has been longer than relistThreshold since a relist occurred. + clock.Step(relistThreshold) + ok, _ = pleg.Healthy() + assert.False(t, ok, "pleg should be unhealthy") } func TestRelistWithReinspection(t *testing.T) {