diff --git a/cmd/kube-apiserver/app/testing/testserver.go b/cmd/kube-apiserver/app/testing/testserver.go index 785724e7448..6969cb70662 100644 --- a/cmd/kube-apiserver/app/testing/testserver.go +++ b/cmd/kube-apiserver/app/testing/testserver.go @@ -104,6 +104,8 @@ type TestServerInstanceOptions struct { // Set the BinaryVersion of server effective version. // Default to 1.31 BinaryVersion string + // Set non-default request timeout in the server. + RequestTimeout time.Duration } // TestServer return values supplied by kube-test-ApiServer @@ -194,6 +196,9 @@ func StartTestServer(t ktesting.TB, instanceOptions *TestServerInstanceOptions, utilruntime.Must(utilversion.DefaultComponentGlobalsRegistry.Register(utilversion.DefaultKubeComponent, effectiveVersion, featureGate)) s := options.NewServerRunOptions() + if instanceOptions.RequestTimeout > 0 { + s.GenericServerRunOptions.RequestTimeout = instanceOptions.RequestTimeout + } for _, f := range s.Flags().FlagSets { fs.AddFlagSet(f) diff --git a/test/integration/scheduler_perf/util.go b/test/integration/scheduler_perf/util.go index 56f24c4fb00..147b12af202 100644 --- a/test/integration/scheduler_perf/util.go +++ b/test/integration/scheduler_perf/util.go @@ -94,7 +94,10 @@ func mustSetupCluster(tCtx ktesting.TContext, config *config.KubeSchedulerConfig "--disable-admission-plugins=ServiceAccount,TaintNodesByCondition,Priority", "--runtime-config=" + strings.Join(runtimeConfig, ","), } - server, err := apiservertesting.StartTestServer(tCtx, apiservertesting.NewDefaultTestServerOptions(), customFlags, framework.SharedEtcd()) + serverOpts := apiservertesting.NewDefaultTestServerOptions() + // Timeout sufficiently long to handle deleting pods of the largest test cases. + serverOpts.RequestTimeout = 10 * time.Minute + server, err := apiservertesting.StartTestServer(tCtx, serverOpts, customFlags, framework.SharedEtcd()) if err != nil { tCtx.Fatalf("start apiserver: %v", err) }