From 5ecf5f4ad30bbaac74a4fc87e8af06009ceb8dc0 Mon Sep 17 00:00:00 2001 From: Mike Spreitzer Date: Sat, 11 Jun 2022 01:26:38 -0400 Subject: [PATCH] Make sure metrics are registered in tests Also, include metrics registration in server construction --- for convenience. --- .../pkg/server/filters/maxinflight_test.go | 2 ++ .../filters/priority-and-fairness_test.go | 18 ++++++++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/staging/src/k8s.io/apiserver/pkg/server/filters/maxinflight_test.go b/staging/src/k8s.io/apiserver/pkg/server/filters/maxinflight_test.go index 3bbcace9230..db5a0da17a4 100644 --- a/staging/src/k8s.io/apiserver/pkg/server/filters/maxinflight_test.go +++ b/staging/src/k8s.io/apiserver/pkg/server/filters/maxinflight_test.go @@ -29,9 +29,11 @@ import ( "k8s.io/apiserver/pkg/authentication/user" apifilters "k8s.io/apiserver/pkg/endpoints/filters" apirequest "k8s.io/apiserver/pkg/endpoints/request" + fcmetrics "k8s.io/apiserver/pkg/util/flowcontrol/metrics" ) func createMaxInflightServer(callsWg, blockWg *sync.WaitGroup, disableCallsWg *bool, disableCallsWgMutex *sync.Mutex, nonMutating, mutating int) *httptest.Server { + fcmetrics.Register() longRunningRequestCheck := BasicLongRunningRequestCheck(sets.NewString("watch"), sets.NewString("proxy")) requestInfoFactory := &apirequest.RequestInfoFactory{APIPrefixes: sets.NewString("apis", "api"), GrouplessAPIPrefixes: sets.NewString("api")} diff --git a/staging/src/k8s.io/apiserver/pkg/server/filters/priority-and-fairness_test.go b/staging/src/k8s.io/apiserver/pkg/server/filters/priority-and-fairness_test.go index 50b282f844c..571d94cea16 100644 --- a/staging/src/k8s.io/apiserver/pkg/server/filters/priority-and-fairness_test.go +++ b/staging/src/k8s.io/apiserver/pkg/server/filters/priority-and-fairness_test.go @@ -158,6 +158,8 @@ func newApfServerWithHooks(t *testing.T, decision mockDecision, onExecute, postE } func newApfServerWithFilter(t *testing.T, flowControlFilter utilflowcontrol.Interface, onExecute, postExecute func()) *httptest.Server { + epmetrics.Register() + fcmetrics.Register() apfServer := httptest.NewServer(newApfHandlerWithFilter(t, flowControlFilter, onExecute, postExecute)) return apfServer } @@ -185,8 +187,6 @@ func newApfHandlerWithFilter(t *testing.T, flowControlFilter utilflowcontrol.Int } func TestApfSkipLongRunningRequest(t *testing.T) { - epmetrics.Register() - server := newApfServerWithSingleRequest(t, decisionSkipFilter) defer server.Close() @@ -202,8 +202,6 @@ func TestApfSkipLongRunningRequest(t *testing.T) { } func TestApfRejectRequest(t *testing.T) { - epmetrics.Register() - server := newApfServerWithSingleRequest(t, decisionReject) defer server.Close() @@ -355,8 +353,6 @@ func TestApfExecuteMultipleRequests(t *testing.T) { } func TestApfCancelWaitRequest(t *testing.T) { - epmetrics.Register() - server := newApfServerWithSingleRequest(t, decisionCancelWait) defer server.Close() @@ -536,6 +532,9 @@ func TestApfRejectWatchRequestsWithInitializationSignal(t *testing.T) { } func TestApfWatchPanic(t *testing.T) { + epmetrics.Register() + fcmetrics.Register() + fakeFilter := newFakeWatchApfFilter(1) onExecuteFunc := func() { @@ -561,6 +560,8 @@ func TestApfWatchPanic(t *testing.T) { } func TestApfWatchHandlePanic(t *testing.T) { + epmetrics.Register() + fcmetrics.Register() preExecutePanicingFilter := newFakeWatchApfFilter(1) preExecutePanicingFilter.preExecutePanic = true @@ -614,6 +615,8 @@ func TestApfWatchHandlePanic(t *testing.T) { // Even though in production we are not using httptest.Server, this logic is shared // across these two. func TestContextClosesOnRequestProcessed(t *testing.T) { + epmetrics.Register() + fcmetrics.Register() wg := sync.WaitGroup{} wg.Add(1) handler := func(w http.ResponseWriter, r *http.Request) { @@ -652,6 +655,8 @@ func (f *fakeFilterRequestDigest) Handle(ctx context.Context, } func TestApfWithRequestDigest(t *testing.T) { + epmetrics.Register() + fcmetrics.Register() longRunningFunc := func(_ *http.Request, _ *apirequest.RequestInfo) bool { return false } fakeFilter := &fakeFilterRequestDigest{} @@ -690,6 +695,7 @@ func TestApfWithRequestDigest(t *testing.T) { } func TestPriorityAndFairnessWithPanicRecoveryAndTimeoutFilter(t *testing.T) { + epmetrics.Register() fcmetrics.Register() t.Run("priority level concurrency is set to 1, request handler panics, next request should not be rejected", func(t *testing.T) {