Merge pull request #110516 from MikeSpreitzer/bundle-metrics-registration

Bundle metrics registration into test server creation
This commit is contained in:
Kubernetes Prow Robot 2022-06-14 09:09:46 -07:00 committed by GitHub
commit 9f0be547cd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 6 deletions

View File

@ -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")}

View File

@ -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) {