test:Add podgcCtrl to attachdetachClients

This commit is contained in:
geyingqi 2024-10-26 12:33:57 +08:00
parent 68f63471a7
commit 6910e76699

View File

@ -31,6 +31,7 @@ import (
restclient "k8s.io/client-go/rest" restclient "k8s.io/client-go/rest"
"k8s.io/client-go/tools/cache" "k8s.io/client-go/tools/cache"
kubeapiservertesting "k8s.io/kubernetes/cmd/kube-apiserver/app/testing" kubeapiservertesting "k8s.io/kubernetes/cmd/kube-apiserver/app/testing"
"k8s.io/kubernetes/pkg/controller/podgc"
"k8s.io/kubernetes/pkg/controller/volume/attachdetach" "k8s.io/kubernetes/pkg/controller/volume/attachdetach"
volumecache "k8s.io/kubernetes/pkg/controller/volume/attachdetach/cache" volumecache "k8s.io/kubernetes/pkg/controller/volume/attachdetach/cache"
"k8s.io/kubernetes/pkg/controller/volume/persistentvolume" "k8s.io/kubernetes/pkg/controller/volume/persistentvolume"
@ -326,7 +327,7 @@ func waitForPodFuncInDSWP(t *testing.T, dswp volumecache.DesiredStateOfWorld, ch
} }
} }
func createAdClients(ctx context.Context, t *testing.T, server *kubeapiservertesting.TestServer, syncPeriod time.Duration, timers attachdetach.TimerConfig) (*clientset.Clientset, attachdetach.AttachDetachController, *persistentvolume.PersistentVolumeController, clientgoinformers.SharedInformerFactory) { func createAdClients(ctx context.Context, t *testing.T, server *kubeapiservertesting.TestServer, syncPeriod time.Duration, timers attachdetach.TimerConfig) (*clientset.Clientset, attachdetach.AttachDetachController, *persistentvolume.PersistentVolumeController, *podgc.PodGCController, clientgoinformers.SharedInformerFactory) {
config := restclient.CopyConfig(server.ClientConfig) config := restclient.CopyConfig(server.ClientConfig)
config.QPS = 1000000 config.QPS = 1000000
config.Burst = 1000000 config.Burst = 1000000
@ -383,11 +384,20 @@ func createAdClients(ctx context.Context, t *testing.T, server *kubeapiservertes
NodeInformer: informers.Core().V1().Nodes(), NodeInformer: informers.Core().V1().Nodes(),
EnableDynamicProvisioning: false, EnableDynamicProvisioning: false,
} }
podgcCtrl := podgc.NewPodGCInternal(
ctx,
testClient,
informers.Core().V1().Pods(),
informers.Core().V1().Nodes(),
0,
500*time.Millisecond,
time.Second,
)
pvCtrl, err := persistentvolume.NewController(ctx, params) pvCtrl, err := persistentvolume.NewController(ctx, params)
if err != nil { if err != nil {
t.Fatalf("Failed to create PV controller: %v", err) t.Fatalf("Failed to create PV controller: %v", err)
} }
return testClient, ctrl, pvCtrl, informers return testClient, ctrl, pvCtrl, podgcCtrl, informers
} }
// Via integration test we can verify that if pod add // Via integration test we can verify that if pod add