@@ -48,6 +48,7 @@ import (
48
48
"k8s.io/kubernetes/pkg/scheduler/algorithm/priorities"
49
49
schedulerapi "k8s.io/kubernetes/pkg/scheduler/apis/config"
50
50
"k8s.io/kubernetes/pkg/scheduler/core"
51
+ frameworkplugins "k8s.io/kubernetes/pkg/scheduler/framework/plugins"
51
52
framework "k8s.io/kubernetes/pkg/scheduler/framework/v1alpha1"
52
53
internalcache "k8s.io/kubernetes/pkg/scheduler/internal/cache"
53
54
fakecache "k8s.io/kubernetes/pkg/scheduler/internal/cache/fake"
@@ -202,6 +203,32 @@ func TestSchedulerCreation(t *testing.T) {
202
203
if err != nil {
203
204
t .Fatalf ("Failed to create scheduler: %v" , err )
204
205
}
206
+
207
+ // Test case for when a plugin name in frameworkOutOfTreeRegistry already exist in defaultRegistry.
208
+ fakeFrameworkPluginName := ""
209
+ for name := range frameworkplugins .NewDefaultRegistry (& frameworkplugins.RegistryArgs {}) {
210
+ fakeFrameworkPluginName = name
211
+ break
212
+ }
213
+ registryFake := map [string ]framework.PluginFactory {
214
+ fakeFrameworkPluginName : func (_ * runtime.Unknown , fh framework.FrameworkHandle ) (framework.Plugin , error ) {
215
+ return nil , nil
216
+ },
217
+ }
218
+ _ , err = New (client ,
219
+ informerFactory ,
220
+ NewPodInformer (client , 0 ),
221
+ eventBroadcaster .NewRecorder (scheme .Scheme , "scheduler" ),
222
+ stopCh ,
223
+ WithAlgorithmSource (schedulerapi.SchedulerAlgorithmSource {Provider : & testSource }),
224
+ WithPodInitialBackoffSeconds (1 ),
225
+ WithPodMaxBackoffSeconds (10 ),
226
+ WithFrameworkOutOfTreeRegistry (registryFake ),
227
+ )
228
+
229
+ if err == nil {
230
+ t .Fatalf ("Create scheduler should fail" )
231
+ }
205
232
}
206
233
207
234
func TestScheduler (t * testing.T ) {
0 commit comments