@@ -202,7 +202,7 @@ func lowNodeUtilizationPolicy(thresholds, targetThresholds api.ResourceThreshold
202202 }
203203}
204204
205- func initDescheduler (t * testing.T , ctx context.Context , featureGates featuregate.FeatureGate , internalDeschedulerPolicy * api.DeschedulerPolicy , source tokenReconciliation , metricsClient metricsclient.Interface , dryRun bool , objects ... runtime.Object ) (* options.DeschedulerServer , * descheduler , * fakeclientset.Clientset ) {
205+ func initDescheduler (t * testing.T , ctx context.Context , featureGates featuregate.FeatureGate , internalDeschedulerPolicy * api.DeschedulerPolicy , source tokenReconciliation , metricsClient metricsclient.Interface , dryRun bool , objects ... runtime.Object ) (* options.DeschedulerServer , * descheduler , func (context. Context ) error , * fakeclientset.Clientset ) {
206206 client := fakeclientset .NewSimpleClientset (objects ... )
207207 eventClient := fakeclientset .NewSimpleClientset (objects ... )
208208
@@ -231,7 +231,7 @@ func initDescheduler(t *testing.T, ctx context.Context, featureGates featuregate
231231 namespacedSharedInformerFactory = informers .NewSharedInformerFactoryWithOptions (client , 0 , informers .WithNamespace (namespace ))
232232 }
233233
234- descheduler , err := bootstrapDescheduler (ctx , rs , internalDeschedulerPolicy , "v1" , aTConfig , sharedInformerFactory , namespacedSharedInformerFactory , eventRecorder )
234+ descheduler , runFnc , err := bootstrapDescheduler (ctx , rs , internalDeschedulerPolicy , "v1" , aTConfig , sharedInformerFactory , namespacedSharedInformerFactory , eventRecorder )
235235 if err != nil {
236236 eventBroadcaster .Shutdown ()
237237 t .Fatalf ("Failed to bootstrap a descheduler: %v" , err )
@@ -261,7 +261,7 @@ func initDescheduler(t *testing.T, ctx context.Context, featureGates featuregate
261261 }
262262 }
263263
264- return rs , descheduler , client
264+ return rs , descheduler , runFnc , client
265265}
266266
267267func TestTaintsUpdated (t * testing.T ) {
@@ -582,7 +582,7 @@ func TestPodEvictorReset(t *testing.T) {
582582
583583 internalDeschedulerPolicy := removePodsViolatingNodeTaintsPolicy ()
584584 ctxCancel , cancel := context .WithCancel (ctx )
585- _ , descheduler , client := initDescheduler (t , ctxCancel , initFeatureGates (), internalDeschedulerPolicy , noReconciliation , nil , tc .dryRun , node1 , node2 , p1 , p2 )
585+ _ , descheduler , _ , client := initDescheduler (t , ctxCancel , initFeatureGates (), internalDeschedulerPolicy , noReconciliation , nil , tc .dryRun , node1 , node2 , p1 , p2 )
586586 defer cancel ()
587587
588588 var evictedPods []string
@@ -675,7 +675,7 @@ func TestEvictionRequestsCache(t *testing.T) {
675675 featureGates .Add (map [featuregate.Feature ]featuregate.FeatureSpec {
676676 features .EvictionsInBackground : {Default : true , PreRelease : featuregate .Alpha },
677677 })
678- _ , descheduler , client := initDescheduler (t , ctxCancel , featureGates , internalDeschedulerPolicy , noReconciliation , nil , false , node1 , node2 , p1 , p2 , p3 , p4 )
678+ _ , descheduler , _ , client := initDescheduler (t , ctxCancel , featureGates , internalDeschedulerPolicy , noReconciliation , nil , false , node1 , node2 , p1 , p2 , p3 , p4 )
679679 defer cancel ()
680680
681681 var evictedPods []string
@@ -811,7 +811,7 @@ func TestDeschedulingLimits(t *testing.T) {
811811 featureGates .Add (map [featuregate.Feature ]featuregate.FeatureSpec {
812812 features .EvictionsInBackground : {Default : true , PreRelease : featuregate .Alpha },
813813 })
814- _ , descheduler , client := initDescheduler (t , ctxCancel , featureGates , tc .policy , noReconciliation , nil , false , node1 , node2 )
814+ _ , descheduler , _ , client := initDescheduler (t , ctxCancel , featureGates , tc .policy , noReconciliation , nil , false , node1 , node2 )
815815 defer cancel ()
816816
817817 var evictedPods []string
@@ -1009,7 +1009,7 @@ func TestNodeLabelSelectorBasedEviction(t *testing.T) {
10091009 }
10101010
10111011 ctxCancel , cancel := context .WithCancel (ctx )
1012- _ , deschedulerInstance , client := initDescheduler (t , ctxCancel , initFeatureGates (), policy , noReconciliation , nil , tc .dryRun , objects ... )
1012+ _ , deschedulerInstance , _ , client := initDescheduler (t , ctxCancel , initFeatureGates (), policy , noReconciliation , nil , tc .dryRun , objects ... )
10131013 defer cancel ()
10141014
10151015 // Verify all pods are created initially
@@ -1123,7 +1123,7 @@ func TestLoadAwareDescheduling(t *testing.T) {
11231123 policy .MetricsProviders = []api.MetricsProvider {{Source : api .KubernetesMetrics }}
11241124
11251125 ctxCancel , cancel := context .WithCancel (ctx )
1126- _ , descheduler , _ := initDescheduler (
1126+ _ , descheduler , _ , _ := initDescheduler (
11271127 t ,
11281128 ctxCancel ,
11291129 initFeatureGates (),
@@ -1506,7 +1506,7 @@ func TestPluginPrometheusClientAccess(t *testing.T) {
15061506 node1 := test .BuildTestNode ("node1" , 1000 , 2000 , 9 , nil )
15071507 node2 := test .BuildTestNode ("node2" , 1000 , 2000 , 9 , nil )
15081508
1509- _ , descheduler , _ := initDescheduler (t , ctx , initFeatureGates (), deschedulerPolicy , inClusterReconciliation , nil , tc .dryRun , node1 , node2 )
1509+ _ , descheduler , runFnc , _ := initDescheduler (t , ctx , initFeatureGates (), deschedulerPolicy , inClusterReconciliation , nil , tc .dryRun , node1 , node2 )
15101510
15111511 // Test cycles with different Prometheus client values
15121512 cycles := []struct {
@@ -1552,18 +1552,16 @@ func TestPluginPrometheusClientAccess(t *testing.T) {
15521552 return & rest.Config {BearerToken : cycle .token }, nil
15531553 }
15541554
1555- // Use reconcileInClusterSAToken to set the client
1556- t .Logf ("Setting descheduler.promClientCtrl.promClient from %v to %v" , descheduler .promClientCtrl .promClient , cycle .client )
1557- if err := descheduler .promClientCtrl .reconcileInClusterSAToken (); err != nil {
1558- t .Fatalf ("Failed to reconcile in-cluster SA token: %v" , err )
1559- }
1560-
15611555 newInvoked = false
15621556 reactorInvoked = false
15631557 prometheusClientFromPluginNewHandle = nil
15641558 prometheusClientFromReactor = nil
15651559
1566- descheduler .runProfiles (ctx )
1560+ // Use reconcileInClusterSAToken to set the client
1561+ t .Logf ("Setting descheduler.promClientCtrl.promClient from %v to %v" , descheduler .promClientCtrl .promClient , cycle .client )
1562+ if err := runFnc (ctx ); err != nil {
1563+ t .Fatalf ("Failed to reconcile in-cluster SA token: %v" , err )
1564+ }
15671565
15681566 t .Logf ("After cycle %d: prometheusClientFromReactor=%v, descheduler.promClientCtrl.promClient=%v" , i + 1 , prometheusClientFromReactor , descheduler .promClientCtrl .promClient )
15691567
@@ -1813,7 +1811,7 @@ func TestPromClientControllerSync_ClientCreation(t *testing.T) {
18131811 },
18141812 }
18151813
1816- _ , descheduler , _ := initDescheduler (t , ctx , initFeatureGates (), deschedulerPolicy , secretReconciliation , nil , false , objects ... )
1814+ _ , descheduler , _ , _ := initDescheduler (t , ctx , initFeatureGates (), deschedulerPolicy , secretReconciliation , nil , false , objects ... )
18171815 return descheduler .promClientCtrl
18181816 },
18191817 },
@@ -1984,7 +1982,7 @@ func TestPromClientControllerSync_EventHandler(t *testing.T) {
19841982 },
19851983 }
19861984
1987- _ , descheduler , client := initDescheduler (t , ctx , initFeatureGates (), deschedulerPolicy , secretReconciliation , nil , false )
1985+ _ , descheduler , _ , client := initDescheduler (t , ctx , initFeatureGates (), deschedulerPolicy , secretReconciliation , nil , false )
19881986 // The reconciler is already started by initDescheduler via bootstrapDescheduler
19891987
19901988 return descheduler .promClientCtrl , client , prometheusConfig .AuthToken .SecretReference .Namespace
@@ -2233,7 +2231,7 @@ func TestReconcileInClusterSAToken(t *testing.T) {
22332231 },
22342232 }
22352233
2236- _ , descheduler , _ := initDescheduler (t , ctx , initFeatureGates (), deschedulerPolicy , inClusterReconciliation , nil , false )
2234+ _ , descheduler , _ , _ := initDescheduler (t , ctx , initFeatureGates (), deschedulerPolicy , inClusterReconciliation , nil , false )
22372235
22382236 // Override the fields needed for this test
22392237 descheduler .promClientCtrl .currentPrometheusAuthToken = tc .currentAuthToken
0 commit comments