Merge pull request #89904 from alculquicondor/raw-extension-plugin-args
Use RawExtension and Object for external and internal, respectively, scheduling plugin args
This commit is contained in:
		@@ -204,6 +204,8 @@ profiles:
 | 
				
			|||||||
      - name: baz
 | 
					      - name: baz
 | 
				
			||||||
  pluginConfig:
 | 
					  pluginConfig:
 | 
				
			||||||
  - name: foo
 | 
					  - name: foo
 | 
				
			||||||
 | 
					    args:
 | 
				
			||||||
 | 
					      bar: baz
 | 
				
			||||||
`, configKubeconfig)), os.FileMode(0600)); err != nil {
 | 
					`, configKubeconfig)), os.FileMode(0600)); err != nil {
 | 
				
			||||||
		t.Fatal(err)
 | 
							t.Fatal(err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -543,7 +545,10 @@ profiles:
 | 
				
			|||||||
						PluginConfig: []kubeschedulerconfig.PluginConfig{
 | 
											PluginConfig: []kubeschedulerconfig.PluginConfig{
 | 
				
			||||||
							{
 | 
												{
 | 
				
			||||||
								Name: "foo",
 | 
													Name: "foo",
 | 
				
			||||||
								Args: runtime.Unknown{},
 | 
													Args: &runtime.Unknown{
 | 
				
			||||||
 | 
														Raw:         []byte(`{"bar":"baz"}`),
 | 
				
			||||||
 | 
														ContentType: "application/json",
 | 
				
			||||||
 | 
													},
 | 
				
			||||||
							},
 | 
												},
 | 
				
			||||||
						},
 | 
											},
 | 
				
			||||||
					},
 | 
										},
 | 
				
			||||||
@@ -608,7 +613,6 @@ profiles:
 | 
				
			|||||||
						PluginConfig: []kubeschedulerconfig.PluginConfig{
 | 
											PluginConfig: []kubeschedulerconfig.PluginConfig{
 | 
				
			||||||
							{
 | 
												{
 | 
				
			||||||
								Name: "foo",
 | 
													Name: "foo",
 | 
				
			||||||
								Args: runtime.Unknown{},
 | 
					 | 
				
			||||||
							},
 | 
												},
 | 
				
			||||||
						},
 | 
											},
 | 
				
			||||||
					},
 | 
										},
 | 
				
			||||||
@@ -666,7 +670,7 @@ profiles:
 | 
				
			|||||||
						PluginConfig: []kubeschedulerconfig.PluginConfig{
 | 
											PluginConfig: []kubeschedulerconfig.PluginConfig{
 | 
				
			||||||
							{
 | 
												{
 | 
				
			||||||
								Name: "InterPodAffinity",
 | 
													Name: "InterPodAffinity",
 | 
				
			||||||
								Args: runtime.Unknown{
 | 
													Args: &runtime.Unknown{
 | 
				
			||||||
									Raw: []byte(`{"hardPodAffinityWeight":5}`),
 | 
														Raw: []byte(`{"hardPodAffinityWeight":5}`),
 | 
				
			||||||
								},
 | 
													},
 | 
				
			||||||
							},
 | 
												},
 | 
				
			||||||
@@ -760,7 +764,7 @@ profiles:
 | 
				
			|||||||
			}
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			if diff := cmp.Diff(tc.expectedConfig, config.ComponentConfig); diff != "" {
 | 
								if diff := cmp.Diff(tc.expectedConfig, config.ComponentConfig); diff != "" {
 | 
				
			||||||
				t.Errorf("incorrect config (-want, +got):\n%s", diff)
 | 
									t.Errorf("incorrect config (-want,+got):\n%s", diff)
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			// ensure we have a client
 | 
								// ensure we have a client
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1598,7 +1598,7 @@ func TestPluginsConfigurationCompatibility(t *testing.T) {
 | 
				
			|||||||
			pluginConfig: []config.PluginConfig{
 | 
								pluginConfig: []config.PluginConfig{
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					Name: "NodeResourcesFit",
 | 
										Name: "NodeResourcesFit",
 | 
				
			||||||
					Args: runtime.Unknown{
 | 
										Args: &runtime.Unknown{
 | 
				
			||||||
						Raw: []byte(`{
 | 
											Raw: []byte(`{
 | 
				
			||||||
							"ignoredResources": [
 | 
												"ignoredResources": [
 | 
				
			||||||
								"foo",
 | 
													"foo",
 | 
				
			||||||
@@ -1609,7 +1609,7 @@ func TestPluginsConfigurationCompatibility(t *testing.T) {
 | 
				
			|||||||
				},
 | 
									},
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					Name: "PodTopologySpread",
 | 
										Name: "PodTopologySpread",
 | 
				
			||||||
					Args: runtime.Unknown{
 | 
										Args: &runtime.Unknown{
 | 
				
			||||||
						Raw: []byte(`{
 | 
											Raw: []byte(`{
 | 
				
			||||||
							"defaultConstraints": [
 | 
												"defaultConstraints": [
 | 
				
			||||||
								{
 | 
													{
 | 
				
			||||||
@@ -1628,7 +1628,7 @@ func TestPluginsConfigurationCompatibility(t *testing.T) {
 | 
				
			|||||||
				},
 | 
									},
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					Name: "RequestedToCapacityRatio",
 | 
										Name: "RequestedToCapacityRatio",
 | 
				
			||||||
					Args: runtime.Unknown{
 | 
										Args: &runtime.Unknown{
 | 
				
			||||||
						Raw: []byte(`{
 | 
											Raw: []byte(`{
 | 
				
			||||||
							"shape":[
 | 
												"shape":[
 | 
				
			||||||
								"Utilization": 5,
 | 
													"Utilization": 5,
 | 
				
			||||||
@@ -1643,7 +1643,7 @@ func TestPluginsConfigurationCompatibility(t *testing.T) {
 | 
				
			|||||||
				},
 | 
									},
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					Name: "InterPodAffinity",
 | 
										Name: "InterPodAffinity",
 | 
				
			||||||
					Args: runtime.Unknown{
 | 
										Args: &runtime.Unknown{
 | 
				
			||||||
						Raw: []byte(`{
 | 
											Raw: []byte(`{
 | 
				
			||||||
							"HardPodAffinityWeight": 100
 | 
												"HardPodAffinityWeight": 100
 | 
				
			||||||
						}`),
 | 
											}`),
 | 
				
			||||||
@@ -1651,7 +1651,7 @@ func TestPluginsConfigurationCompatibility(t *testing.T) {
 | 
				
			|||||||
				},
 | 
									},
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					Name: "NodeLabel",
 | 
										Name: "NodeLabel",
 | 
				
			||||||
					Args: runtime.Unknown{
 | 
										Args: &runtime.Unknown{
 | 
				
			||||||
						Raw: []byte(`{
 | 
											Raw: []byte(`{
 | 
				
			||||||
							"presentLabels": [
 | 
												"presentLabels": [
 | 
				
			||||||
								"foo",
 | 
													"foo",
 | 
				
			||||||
@@ -1671,7 +1671,7 @@ func TestPluginsConfigurationCompatibility(t *testing.T) {
 | 
				
			|||||||
				},
 | 
									},
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					Name: "ServiceAffinity",
 | 
										Name: "ServiceAffinity",
 | 
				
			||||||
					Args: runtime.Unknown{
 | 
										Args: &runtime.Unknown{
 | 
				
			||||||
						Raw: []byte(`{
 | 
											Raw: []byte(`{
 | 
				
			||||||
							affinityLabels: [
 | 
												affinityLabels: [
 | 
				
			||||||
								"foo",
 | 
													"foo",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -246,7 +246,7 @@ type PluginConfig struct {
 | 
				
			|||||||
	// Name defines the name of plugin being configured
 | 
						// Name defines the name of plugin being configured
 | 
				
			||||||
	Name string
 | 
						Name string
 | 
				
			||||||
	// Args defines the arguments passed to the plugins at the time of initialization. Args can have arbitrary structure.
 | 
						// Args defines the arguments passed to the plugins at the time of initialization. Args can have arbitrary structure.
 | 
				
			||||||
	Args runtime.Unknown
 | 
						Args runtime.Object
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -336,7 +336,17 @@ func autoConvert_v1alpha2_KubeSchedulerProfile_To_config_KubeSchedulerProfile(in
 | 
				
			|||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		out.Plugins = nil
 | 
							out.Plugins = nil
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	out.PluginConfig = *(*[]config.PluginConfig)(unsafe.Pointer(&in.PluginConfig))
 | 
						if in.PluginConfig != nil {
 | 
				
			||||||
 | 
							in, out := &in.PluginConfig, &out.PluginConfig
 | 
				
			||||||
 | 
							*out = make([]config.PluginConfig, len(*in))
 | 
				
			||||||
 | 
							for i := range *in {
 | 
				
			||||||
 | 
								if err := Convert_v1alpha2_PluginConfig_To_config_PluginConfig(&(*in)[i], &(*out)[i], s); err != nil {
 | 
				
			||||||
 | 
									return err
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						} else {
 | 
				
			||||||
 | 
							out.PluginConfig = nil
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -358,7 +368,17 @@ func autoConvert_config_KubeSchedulerProfile_To_v1alpha2_KubeSchedulerProfile(in
 | 
				
			|||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		out.Plugins = nil
 | 
							out.Plugins = nil
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	out.PluginConfig = *(*[]v1alpha2.PluginConfig)(unsafe.Pointer(&in.PluginConfig))
 | 
						if in.PluginConfig != nil {
 | 
				
			||||||
 | 
							in, out := &in.PluginConfig, &out.PluginConfig
 | 
				
			||||||
 | 
							*out = make([]v1alpha2.PluginConfig, len(*in))
 | 
				
			||||||
 | 
							for i := range *in {
 | 
				
			||||||
 | 
								if err := Convert_config_PluginConfig_To_v1alpha2_PluginConfig(&(*in)[i], &(*out)[i], s); err != nil {
 | 
				
			||||||
 | 
									return err
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						} else {
 | 
				
			||||||
 | 
							out.PluginConfig = nil
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -441,7 +461,9 @@ func Convert_config_Plugin_To_v1alpha2_Plugin(in *config.Plugin, out *v1alpha2.P
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func autoConvert_v1alpha2_PluginConfig_To_config_PluginConfig(in *v1alpha2.PluginConfig, out *config.PluginConfig, s conversion.Scope) error {
 | 
					func autoConvert_v1alpha2_PluginConfig_To_config_PluginConfig(in *v1alpha2.PluginConfig, out *config.PluginConfig, s conversion.Scope) error {
 | 
				
			||||||
	out.Name = in.Name
 | 
						out.Name = in.Name
 | 
				
			||||||
	out.Args = in.Args
 | 
						if err := runtime.Convert_runtime_RawExtension_To_runtime_Object(&in.Args, &out.Args, s); err != nil {
 | 
				
			||||||
 | 
							return err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -452,7 +474,9 @@ func Convert_v1alpha2_PluginConfig_To_config_PluginConfig(in *v1alpha2.PluginCon
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func autoConvert_config_PluginConfig_To_v1alpha2_PluginConfig(in *config.PluginConfig, out *v1alpha2.PluginConfig, s conversion.Scope) error {
 | 
					func autoConvert_config_PluginConfig_To_v1alpha2_PluginConfig(in *config.PluginConfig, out *v1alpha2.PluginConfig, s conversion.Scope) error {
 | 
				
			||||||
	out.Name = in.Name
 | 
						out.Name = in.Name
 | 
				
			||||||
	out.Args = in.Args
 | 
						if err := runtime.Convert_runtime_Object_To_runtime_RawExtension(&in.Args, &out.Args, s); err != nil {
 | 
				
			||||||
 | 
							return err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -341,7 +341,9 @@ func (in *Plugin) DeepCopy() *Plugin {
 | 
				
			|||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
 | 
					// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
 | 
				
			||||||
func (in *PluginConfig) DeepCopyInto(out *PluginConfig) {
 | 
					func (in *PluginConfig) DeepCopyInto(out *PluginConfig) {
 | 
				
			||||||
	*out = *in
 | 
						*out = *in
 | 
				
			||||||
	in.Args.DeepCopyInto(&out.Args)
 | 
						if in.Args != nil {
 | 
				
			||||||
 | 
							out.Args = in.Args.DeepCopyObject()
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	return
 | 
						return
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -110,7 +110,7 @@ func machine2PrioritizerExtender(pod *v1.Pod, nodes []*v1.Node) (*framework.Node
 | 
				
			|||||||
type machine2PrioritizerPlugin struct{}
 | 
					type machine2PrioritizerPlugin struct{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func newMachine2PrioritizerPlugin() framework.PluginFactory {
 | 
					func newMachine2PrioritizerPlugin() framework.PluginFactory {
 | 
				
			||||||
	return func(_ *runtime.Unknown, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
						return func(_ runtime.Object, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
		return &machine2PrioritizerPlugin{}, nil
 | 
							return &machine2PrioritizerPlugin{}, nil
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -81,7 +81,7 @@ func (pl *trueFilterPlugin) Filter(_ context.Context, _ *framework.CycleState, p
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// NewTrueFilterPlugin initializes a trueFilterPlugin and returns it.
 | 
					// NewTrueFilterPlugin initializes a trueFilterPlugin and returns it.
 | 
				
			||||||
func NewTrueFilterPlugin(_ *runtime.Unknown, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func NewTrueFilterPlugin(_ runtime.Object, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	return &trueFilterPlugin{}, nil
 | 
						return &trueFilterPlugin{}, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -98,7 +98,7 @@ func (pl *falseFilterPlugin) Filter(_ context.Context, _ *framework.CycleState,
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// NewFalseFilterPlugin initializes a falseFilterPlugin and returns it.
 | 
					// NewFalseFilterPlugin initializes a falseFilterPlugin and returns it.
 | 
				
			||||||
func NewFalseFilterPlugin(_ *runtime.Unknown, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func NewFalseFilterPlugin(_ runtime.Object, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	return &falseFilterPlugin{}, nil
 | 
						return &falseFilterPlugin{}, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -122,7 +122,7 @@ func (pl *matchFilterPlugin) Filter(_ context.Context, _ *framework.CycleState,
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// NewMatchFilterPlugin initializes a matchFilterPlugin and returns it.
 | 
					// NewMatchFilterPlugin initializes a matchFilterPlugin and returns it.
 | 
				
			||||||
func NewMatchFilterPlugin(_ *runtime.Unknown, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func NewMatchFilterPlugin(_ runtime.Object, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	return &matchFilterPlugin{}, nil
 | 
						return &matchFilterPlugin{}, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -142,7 +142,7 @@ func (pl *noPodsFilterPlugin) Filter(_ context.Context, _ *framework.CycleState,
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// NewNoPodsFilterPlugin initializes a noPodsFilterPlugin and returns it.
 | 
					// NewNoPodsFilterPlugin initializes a noPodsFilterPlugin and returns it.
 | 
				
			||||||
func NewNoPodsFilterPlugin(_ *runtime.Unknown, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func NewNoPodsFilterPlugin(_ runtime.Object, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	return &noPodsFilterPlugin{}, nil
 | 
						return &noPodsFilterPlugin{}, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -171,7 +171,7 @@ func (pl *fakeFilterPlugin) Filter(_ context.Context, _ *framework.CycleState, p
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// NewFakeFilterPlugin initializes a fakeFilterPlugin and returns it.
 | 
					// NewFakeFilterPlugin initializes a fakeFilterPlugin and returns it.
 | 
				
			||||||
func NewFakeFilterPlugin(failedNodeReturnCodeMap map[string]framework.Code) framework.PluginFactory {
 | 
					func NewFakeFilterPlugin(failedNodeReturnCodeMap map[string]framework.Code) framework.PluginFactory {
 | 
				
			||||||
	return func(_ *runtime.Unknown, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
						return func(_ runtime.Object, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
		return &fakeFilterPlugin{
 | 
							return &fakeFilterPlugin{
 | 
				
			||||||
			failedNodeReturnCodeMap: failedNodeReturnCodeMap,
 | 
								failedNodeReturnCodeMap: failedNodeReturnCodeMap,
 | 
				
			||||||
		}, nil
 | 
							}, nil
 | 
				
			||||||
@@ -181,7 +181,7 @@ func NewFakeFilterPlugin(failedNodeReturnCodeMap map[string]framework.Code) fram
 | 
				
			|||||||
type numericMapPlugin struct{}
 | 
					type numericMapPlugin struct{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func newNumericMapPlugin() framework.PluginFactory {
 | 
					func newNumericMapPlugin() framework.PluginFactory {
 | 
				
			||||||
	return func(_ *runtime.Unknown, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
						return func(_ runtime.Object, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
		return &numericMapPlugin{}, nil
 | 
							return &numericMapPlugin{}, nil
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -205,7 +205,7 @@ func (pl *numericMapPlugin) ScoreExtensions() framework.ScoreExtensions {
 | 
				
			|||||||
type reverseNumericMapPlugin struct{}
 | 
					type reverseNumericMapPlugin struct{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func newReverseNumericMapPlugin() framework.PluginFactory {
 | 
					func newReverseNumericMapPlugin() framework.PluginFactory {
 | 
				
			||||||
	return func(_ *runtime.Unknown, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
						return func(_ runtime.Object, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
		return &reverseNumericMapPlugin{}, nil
 | 
							return &reverseNumericMapPlugin{}, nil
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -246,7 +246,7 @@ func (pl *reverseNumericMapPlugin) NormalizeScore(_ context.Context, _ *framewor
 | 
				
			|||||||
type trueMapPlugin struct{}
 | 
					type trueMapPlugin struct{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func newTrueMapPlugin() framework.PluginFactory {
 | 
					func newTrueMapPlugin() framework.PluginFactory {
 | 
				
			||||||
	return func(_ *runtime.Unknown, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
						return func(_ runtime.Object, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
		return &trueMapPlugin{}, nil
 | 
							return &trueMapPlugin{}, nil
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -275,7 +275,7 @@ func (pl *trueMapPlugin) NormalizeScore(_ context.Context, _ *framework.CycleSta
 | 
				
			|||||||
type falseMapPlugin struct{}
 | 
					type falseMapPlugin struct{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func newFalseMapPlugin() framework.PluginFactory {
 | 
					func newFalseMapPlugin() framework.PluginFactory {
 | 
				
			||||||
	return func(_ *runtime.Unknown, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
						return func(_ runtime.Object, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
		return &falseMapPlugin{}, nil
 | 
							return &falseMapPlugin{}, nil
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -962,7 +962,7 @@ func TestFindFitPredicateCallCounts(t *testing.T) {
 | 
				
			|||||||
		plugin := fakeFilterPlugin{}
 | 
							plugin := fakeFilterPlugin{}
 | 
				
			||||||
		registerFakeFilterFunc := st.RegisterFilterPlugin(
 | 
							registerFakeFilterFunc := st.RegisterFilterPlugin(
 | 
				
			||||||
			"FakeFilter",
 | 
								"FakeFilter",
 | 
				
			||||||
			func(_ *runtime.Unknown, fh framework.FrameworkHandle) (framework.Plugin, error) {
 | 
								func(_ runtime.Object, fh framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
				return &plugin, nil
 | 
									return &plugin, nil
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
		)
 | 
							)
 | 
				
			||||||
@@ -1598,7 +1598,7 @@ func TestSelectNodesForPreemption(t *testing.T) {
 | 
				
			|||||||
			fakePlugin.failedNodeReturnCodeMap = filterFailedNodeReturnCodeMap
 | 
								fakePlugin.failedNodeReturnCodeMap = filterFailedNodeReturnCodeMap
 | 
				
			||||||
			registerFakeFilterFunc := st.RegisterFilterPlugin(
 | 
								registerFakeFilterFunc := st.RegisterFilterPlugin(
 | 
				
			||||||
				"FakeFilter",
 | 
									"FakeFilter",
 | 
				
			||||||
				func(_ *runtime.Unknown, fh framework.FrameworkHandle) (framework.Plugin, error) {
 | 
									func(_ runtime.Object, fh framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
					return &fakePlugin, nil
 | 
										return &fakePlugin, nil
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
			)
 | 
								)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -342,7 +342,7 @@ func (c *Configurator) createFromConfig(policy schedulerapi.Policy) (*Scheduler,
 | 
				
			|||||||
// mergePluginConfigsFromPolicy merges the giving plugin configs ensuring that,
 | 
					// mergePluginConfigsFromPolicy merges the giving plugin configs ensuring that,
 | 
				
			||||||
// if a plugin name is repeated, the arguments are the same.
 | 
					// if a plugin name is repeated, the arguments are the same.
 | 
				
			||||||
func mergePluginConfigsFromPolicy(pc1, pc2 []schedulerapi.PluginConfig) ([]schedulerapi.PluginConfig, error) {
 | 
					func mergePluginConfigsFromPolicy(pc1, pc2 []schedulerapi.PluginConfig) ([]schedulerapi.PluginConfig, error) {
 | 
				
			||||||
	args := make(map[string]runtime.Unknown)
 | 
						args := make(map[string]runtime.Object)
 | 
				
			||||||
	for _, c := range pc1 {
 | 
						for _, c := range pc1 {
 | 
				
			||||||
		args[c.Name] = c.Args
 | 
							args[c.Name] = c.Args
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -250,7 +250,7 @@ func TestCreateFromConfigWithHardPodAffinitySymmetricWeight(t *testing.T) {
 | 
				
			|||||||
	for _, cfg := range factory.profiles[0].PluginConfig {
 | 
						for _, cfg := range factory.profiles[0].PluginConfig {
 | 
				
			||||||
		if cfg.Name == interpodaffinity.Name {
 | 
							if cfg.Name == interpodaffinity.Name {
 | 
				
			||||||
			foundAffinityCfg = true
 | 
								foundAffinityCfg = true
 | 
				
			||||||
			wantArgs := runtime.Unknown{Raw: []byte(`{"hardPodAffinityWeight":10}`)}
 | 
								wantArgs := &runtime.Unknown{Raw: []byte(`{"hardPodAffinityWeight":10}`)}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			if diff := cmp.Diff(wantArgs, cfg.Args); diff != "" {
 | 
								if diff := cmp.Diff(wantArgs, cfg.Args); diff != "" {
 | 
				
			||||||
				t.Errorf("wrong InterPodAffinity args (-want, +got): %s", diff)
 | 
									t.Errorf("wrong InterPodAffinity args (-want, +got): %s", diff)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -37,7 +37,7 @@ type DefaultBinder struct {
 | 
				
			|||||||
var _ framework.BindPlugin = &DefaultBinder{}
 | 
					var _ framework.BindPlugin = &DefaultBinder{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// New creates a DefaultBinder.
 | 
					// New creates a DefaultBinder.
 | 
				
			||||||
func New(_ *runtime.Unknown, handle framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func New(_ runtime.Object, handle framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	return &DefaultBinder{handle: handle}, nil
 | 
						return &DefaultBinder{handle: handle}, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -188,7 +188,7 @@ func (pl *DefaultPodTopologySpread) PreScore(ctx context.Context, cycleState *fr
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// New initializes a new plugin and returns it.
 | 
					// New initializes a new plugin and returns it.
 | 
				
			||||||
func New(_ *runtime.Unknown, handle framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func New(_ runtime.Object, handle framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	return &DefaultPodTopologySpread{
 | 
						return &DefaultPodTopologySpread{
 | 
				
			||||||
		handle: handle,
 | 
							handle: handle,
 | 
				
			||||||
	}, nil
 | 
						}, nil
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -74,7 +74,7 @@ func (pl *ImageLocality) ScoreExtensions() framework.ScoreExtensions {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// New initializes a new plugin and returns it.
 | 
					// New initializes a new plugin and returns it.
 | 
				
			||||||
func New(_ *runtime.Unknown, h framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func New(_ runtime.Object, h framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	return &ImageLocality{handle: h}, nil
 | 
						return &ImageLocality{handle: h}, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -62,7 +62,7 @@ func (pl *InterPodAffinity) BuildArgs() interface{} {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// New initializes a new plugin and returns it.
 | 
					// New initializes a new plugin and returns it.
 | 
				
			||||||
func New(plArgs *runtime.Unknown, h framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func New(plArgs runtime.Object, h framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	if h.SnapshotSharedLister() == nil {
 | 
						if h.SnapshotSharedLister() == nil {
 | 
				
			||||||
		return nil, fmt.Errorf("SnapshotSharedlister is nil")
 | 
							return nil, fmt.Errorf("SnapshotSharedlister is nil")
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -496,7 +496,7 @@ func NewPluginConfig(pluginName string, args interface{}) config.PluginConfig {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
	return config.PluginConfig{
 | 
						return config.PluginConfig{
 | 
				
			||||||
		Name: pluginName,
 | 
							Name: pluginName,
 | 
				
			||||||
		Args: runtime.Unknown{Raw: encoding},
 | 
							Args: &runtime.Unknown{Raw: encoding},
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -113,6 +113,6 @@ func (pl *NodeAffinity) ScoreExtensions() framework.ScoreExtensions {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// New initializes a new plugin and returns it.
 | 
					// New initializes a new plugin and returns it.
 | 
				
			||||||
func New(_ *runtime.Unknown, h framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func New(_ runtime.Object, h framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	return &NodeAffinity{handle: h}, nil
 | 
						return &NodeAffinity{handle: h}, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -50,7 +50,7 @@ func validateNoConflict(presentLabels []string, absentLabels []string) error {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// New initializes a new plugin and returns it.
 | 
					// New initializes a new plugin and returns it.
 | 
				
			||||||
func New(plArgs *runtime.Unknown, handle framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func New(plArgs runtime.Object, handle framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	args := schedulerv1alpha2.NodeLabelArgs{}
 | 
						args := schedulerv1alpha2.NodeLabelArgs{}
 | 
				
			||||||
	if err := framework.DecodeInto(plArgs, &args); err != nil {
 | 
						if err := framework.DecodeInto(plArgs, &args); err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -59,6 +59,6 @@ func Fits(pod *v1.Pod, nodeInfo *framework.NodeInfo) bool {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// New initializes a new plugin and returns it.
 | 
					// New initializes a new plugin and returns it.
 | 
				
			||||||
func New(_ *runtime.Unknown, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func New(_ runtime.Object, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	return &NodeName{}, nil
 | 
						return &NodeName{}, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -128,6 +128,6 @@ func fitsPorts(wantPorts []*v1.ContainerPort, nodeInfo *framework.NodeInfo) bool
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// New initializes a new plugin and returns it.
 | 
					// New initializes a new plugin and returns it.
 | 
				
			||||||
func New(_ *runtime.Unknown, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func New(_ runtime.Object, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	return &NodePorts{}, nil
 | 
						return &NodePorts{}, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -87,6 +87,6 @@ func (pl *NodePreferAvoidPods) ScoreExtensions() framework.ScoreExtensions {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// New initializes a new plugin and returns it.
 | 
					// New initializes a new plugin and returns it.
 | 
				
			||||||
func New(_ *runtime.Unknown, h framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func New(_ runtime.Object, h framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	return &NodePreferAvoidPods{handle: h}, nil
 | 
						return &NodePreferAvoidPods{handle: h}, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -68,7 +68,7 @@ func (ba *BalancedAllocation) ScoreExtensions() framework.ScoreExtensions {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// NewBalancedAllocation initializes a new plugin and returns it.
 | 
					// NewBalancedAllocation initializes a new plugin and returns it.
 | 
				
			||||||
func NewBalancedAllocation(_ *runtime.Unknown, h framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func NewBalancedAllocation(_ runtime.Object, h framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	return &BalancedAllocation{
 | 
						return &BalancedAllocation{
 | 
				
			||||||
		handle: h,
 | 
							handle: h,
 | 
				
			||||||
		resourceAllocationScorer: resourceAllocationScorer{
 | 
							resourceAllocationScorer: resourceAllocationScorer{
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -63,7 +63,7 @@ func (f *Fit) Name() string {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// NewFit initializes a new plugin and returns it.
 | 
					// NewFit initializes a new plugin and returns it.
 | 
				
			||||||
func NewFit(plArgs *runtime.Unknown, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func NewFit(plArgs runtime.Object, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	args := &schedulerv1alpha2.NodeResourcesFitArgs{}
 | 
						args := &schedulerv1alpha2.NodeResourcesFitArgs{}
 | 
				
			||||||
	if err := framework.DecodeInto(plArgs, args); err != nil {
 | 
						if err := framework.DecodeInto(plArgs, args); err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -63,7 +63,7 @@ func (la *LeastAllocated) ScoreExtensions() framework.ScoreExtensions {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// NewLeastAllocated initializes a new plugin and returns it.
 | 
					// NewLeastAllocated initializes a new plugin and returns it.
 | 
				
			||||||
func NewLeastAllocated(_ *runtime.Unknown, h framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func NewLeastAllocated(_ runtime.Object, h framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	return &LeastAllocated{
 | 
						return &LeastAllocated{
 | 
				
			||||||
		handle: h,
 | 
							handle: h,
 | 
				
			||||||
		resourceAllocationScorer: resourceAllocationScorer{
 | 
							resourceAllocationScorer: resourceAllocationScorer{
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -61,7 +61,7 @@ func (ma *MostAllocated) ScoreExtensions() framework.ScoreExtensions {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// NewMostAllocated initializes a new plugin and returns it.
 | 
					// NewMostAllocated initializes a new plugin and returns it.
 | 
				
			||||||
func NewMostAllocated(_ *runtime.Unknown, h framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func NewMostAllocated(_ runtime.Object, h framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	return &MostAllocated{
 | 
						return &MostAllocated{
 | 
				
			||||||
		handle: h,
 | 
							handle: h,
 | 
				
			||||||
		resourceAllocationScorer: resourceAllocationScorer{
 | 
							resourceAllocationScorer: resourceAllocationScorer{
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -48,7 +48,7 @@ type functionShapePoint struct {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// NewRequestedToCapacityRatio initializes a new plugin and returns it.
 | 
					// NewRequestedToCapacityRatio initializes a new plugin and returns it.
 | 
				
			||||||
func NewRequestedToCapacityRatio(plArgs *runtime.Unknown, handle framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func NewRequestedToCapacityRatio(plArgs runtime.Object, handle framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	args := &schedulerv1alpha2.RequestedToCapacityRatioArgs{}
 | 
						args := &schedulerv1alpha2.RequestedToCapacityRatioArgs{}
 | 
				
			||||||
	if err := framework.DecodeInto(plArgs, args); err != nil {
 | 
						if err := framework.DecodeInto(plArgs, args); err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -128,7 +128,7 @@ func (rl *ResourceLimits) ScoreExtensions() framework.ScoreExtensions {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// NewResourceLimits initializes a new plugin and returns it.
 | 
					// NewResourceLimits initializes a new plugin and returns it.
 | 
				
			||||||
func NewResourceLimits(_ *runtime.Unknown, h framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func NewResourceLimits(_ runtime.Object, h framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	return &ResourceLimits{handle: h}, nil
 | 
						return &ResourceLimits{handle: h}, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -65,6 +65,6 @@ func (pl *NodeUnschedulable) Filter(ctx context.Context, _ *framework.CycleState
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// New initializes a new plugin and returns it.
 | 
					// New initializes a new plugin and returns it.
 | 
				
			||||||
func New(_ *runtime.Unknown, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func New(_ runtime.Object, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	return &NodeUnschedulable{}, nil
 | 
						return &NodeUnschedulable{}, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -268,7 +268,7 @@ func (pl *CSILimits) getCSIDriverInfoFromSC(csiNode *storagev1.CSINode, pvc *v1.
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// NewCSI initializes a new plugin and returns it.
 | 
					// NewCSI initializes a new plugin and returns it.
 | 
				
			||||||
func NewCSI(_ *runtime.Unknown, handle framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func NewCSI(_ runtime.Object, handle framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	informerFactory := handle.SharedInformerFactory()
 | 
						informerFactory := handle.SharedInformerFactory()
 | 
				
			||||||
	pvLister := informerFactory.Core().V1().PersistentVolumes().Lister()
 | 
						pvLister := informerFactory.Core().V1().PersistentVolumes().Lister()
 | 
				
			||||||
	pvcLister := informerFactory.Core().V1().PersistentVolumeClaims().Lister()
 | 
						pvcLister := informerFactory.Core().V1().PersistentVolumeClaims().Lister()
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -68,7 +68,7 @@ const (
 | 
				
			|||||||
const AzureDiskName = "AzureDiskLimits"
 | 
					const AzureDiskName = "AzureDiskLimits"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// NewAzureDisk returns function that initializes a new plugin and returns it.
 | 
					// NewAzureDisk returns function that initializes a new plugin and returns it.
 | 
				
			||||||
func NewAzureDisk(_ *runtime.Unknown, handle framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func NewAzureDisk(_ runtime.Object, handle framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	informerFactory := handle.SharedInformerFactory()
 | 
						informerFactory := handle.SharedInformerFactory()
 | 
				
			||||||
	return newNonCSILimitsWithInformerFactory(azureDiskVolumeFilterType, informerFactory), nil
 | 
						return newNonCSILimitsWithInformerFactory(azureDiskVolumeFilterType, informerFactory), nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -77,7 +77,7 @@ func NewAzureDisk(_ *runtime.Unknown, handle framework.FrameworkHandle) (framewo
 | 
				
			|||||||
const CinderName = "CinderLimits"
 | 
					const CinderName = "CinderLimits"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// NewCinder returns function that initializes a new plugin and returns it.
 | 
					// NewCinder returns function that initializes a new plugin and returns it.
 | 
				
			||||||
func NewCinder(_ *runtime.Unknown, handle framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func NewCinder(_ runtime.Object, handle framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	informerFactory := handle.SharedInformerFactory()
 | 
						informerFactory := handle.SharedInformerFactory()
 | 
				
			||||||
	return newNonCSILimitsWithInformerFactory(cinderVolumeFilterType, informerFactory), nil
 | 
						return newNonCSILimitsWithInformerFactory(cinderVolumeFilterType, informerFactory), nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -86,7 +86,7 @@ func NewCinder(_ *runtime.Unknown, handle framework.FrameworkHandle) (framework.
 | 
				
			|||||||
const EBSName = "EBSLimits"
 | 
					const EBSName = "EBSLimits"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// NewEBS returns function that initializes a new plugin and returns it.
 | 
					// NewEBS returns function that initializes a new plugin and returns it.
 | 
				
			||||||
func NewEBS(_ *runtime.Unknown, handle framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func NewEBS(_ runtime.Object, handle framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	informerFactory := handle.SharedInformerFactory()
 | 
						informerFactory := handle.SharedInformerFactory()
 | 
				
			||||||
	return newNonCSILimitsWithInformerFactory(ebsVolumeFilterType, informerFactory), nil
 | 
						return newNonCSILimitsWithInformerFactory(ebsVolumeFilterType, informerFactory), nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -95,7 +95,7 @@ func NewEBS(_ *runtime.Unknown, handle framework.FrameworkHandle) (framework.Plu
 | 
				
			|||||||
const GCEPDName = "GCEPDLimits"
 | 
					const GCEPDName = "GCEPDLimits"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// NewGCEPD returns function that initializes a new plugin and returns it.
 | 
					// NewGCEPD returns function that initializes a new plugin and returns it.
 | 
				
			||||||
func NewGCEPD(_ *runtime.Unknown, handle framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func NewGCEPD(_ runtime.Object, handle framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	informerFactory := handle.SharedInformerFactory()
 | 
						informerFactory := handle.SharedInformerFactory()
 | 
				
			||||||
	return newNonCSILimitsWithInformerFactory(gcePDVolumeFilterType, informerFactory), nil
 | 
						return newNonCSILimitsWithInformerFactory(gcePDVolumeFilterType, informerFactory), nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -83,7 +83,7 @@ func (pl *PodTopologySpread) BuildArgs() interface{} {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// New initializes a new plugin and returns it.
 | 
					// New initializes a new plugin and returns it.
 | 
				
			||||||
func New(args *runtime.Unknown, h framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func New(args runtime.Object, h framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	if h.SnapshotSharedLister() == nil {
 | 
						if h.SnapshotSharedLister() == nil {
 | 
				
			||||||
		return nil, fmt.Errorf("SnapshotSharedlister is nil")
 | 
							return nil, fmt.Errorf("SnapshotSharedlister is nil")
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -45,6 +45,6 @@ func (pl *PrioritySort) Less(pInfo1, pInfo2 *framework.PodInfo) bool {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// New initializes a new plugin and returns it.
 | 
					// New initializes a new plugin and returns it.
 | 
				
			||||||
func New(_ *runtime.Unknown, handle framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func New(_ runtime.Object, handle framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	return &PrioritySort{}, nil
 | 
						return &PrioritySort{}, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -63,7 +63,7 @@ func (s *preFilterState) Clone() framework.StateData {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// New initializes a new plugin and returns it.
 | 
					// New initializes a new plugin and returns it.
 | 
				
			||||||
func New(plArgs *runtime.Unknown, handle framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func New(plArgs runtime.Object, handle framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	args := schedulerv1alpha2.ServiceAffinityArgs{}
 | 
						args := schedulerv1alpha2.ServiceAffinityArgs{}
 | 
				
			||||||
	if err := framework.DecodeInto(plArgs, &args); err != nil {
 | 
						if err := framework.DecodeInto(plArgs, &args); err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -162,6 +162,6 @@ func (pl *TaintToleration) ScoreExtensions() framework.ScoreExtensions {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// New initializes a new plugin and returns it.
 | 
					// New initializes a new plugin and returns it.
 | 
				
			||||||
func New(_ *runtime.Unknown, h framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func New(_ runtime.Object, h framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	return &TaintToleration{handle: h}, nil
 | 
						return &TaintToleration{handle: h}, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -88,7 +88,7 @@ func (pl *VolumeBinding) Filter(ctx context.Context, cs *framework.CycleState, p
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// New initializes a new plugin with volume binder and returns it.
 | 
					// New initializes a new plugin with volume binder and returns it.
 | 
				
			||||||
func New(_ *runtime.Unknown, fh framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func New(_ runtime.Object, fh framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	return &VolumeBinding{
 | 
						return &VolumeBinding{
 | 
				
			||||||
		binder: fh.VolumeBinder(),
 | 
							binder: fh.VolumeBinder(),
 | 
				
			||||||
	}, nil
 | 
						}, nil
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -129,6 +129,6 @@ func (pl *VolumeRestrictions) Filter(ctx context.Context, _ *framework.CycleStat
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// New initializes a new plugin and returns it.
 | 
					// New initializes a new plugin and returns it.
 | 
				
			||||||
func New(_ *runtime.Unknown, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func New(_ runtime.Object, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	return &VolumeRestrictions{}, nil
 | 
						return &VolumeRestrictions{}, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -172,7 +172,7 @@ func (pl *VolumeZone) Filter(ctx context.Context, _ *framework.CycleState, pod *
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// New initializes a new plugin and returns it.
 | 
					// New initializes a new plugin and returns it.
 | 
				
			||||||
func New(_ *runtime.Unknown, handle framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func New(_ runtime.Object, handle framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	informerFactory := handle.SharedInformerFactory()
 | 
						informerFactory := handle.SharedInformerFactory()
 | 
				
			||||||
	pvLister := informerFactory.Core().V1().PersistentVolumes().Lister()
 | 
						pvLister := informerFactory.Core().V1().PersistentVolumes().Lister()
 | 
				
			||||||
	pvcLister := informerFactory.Core().V1().PersistentVolumeClaims().Lister()
 | 
						pvcLister := informerFactory.Core().V1().PersistentVolumeClaims().Lister()
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -197,13 +197,13 @@ func NewFramework(r Registry, plugins *config.Plugins, args []config.PluginConfi
 | 
				
			|||||||
	// get needed plugins from config
 | 
						// get needed plugins from config
 | 
				
			||||||
	pg := f.pluginsNeeded(plugins)
 | 
						pg := f.pluginsNeeded(plugins)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	pluginConfig := make(map[string]*runtime.Unknown, 0)
 | 
						pluginConfig := make(map[string]runtime.Object, 0)
 | 
				
			||||||
	for i := range args {
 | 
						for i := range args {
 | 
				
			||||||
		name := args[i].Name
 | 
							name := args[i].Name
 | 
				
			||||||
		if _, ok := pluginConfig[name]; ok {
 | 
							if _, ok := pluginConfig[name]; ok {
 | 
				
			||||||
			return nil, fmt.Errorf("repeated config for plugin %s", name)
 | 
								return nil, fmt.Errorf("repeated config for plugin %s", name)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		pluginConfig[name] = &args[i].Args
 | 
							pluginConfig[name] = args[i].Args
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	pluginsMap := make(map[string]Plugin)
 | 
						pluginsMap := make(map[string]Plugin)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -53,7 +53,7 @@ const (
 | 
				
			|||||||
var _ ScorePlugin = &TestScoreWithNormalizePlugin{}
 | 
					var _ ScorePlugin = &TestScoreWithNormalizePlugin{}
 | 
				
			||||||
var _ ScorePlugin = &TestScorePlugin{}
 | 
					var _ ScorePlugin = &TestScorePlugin{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func newScoreWithNormalizePlugin1(injArgs *runtime.Unknown, f FrameworkHandle) (Plugin, error) {
 | 
					func newScoreWithNormalizePlugin1(injArgs runtime.Object, f FrameworkHandle) (Plugin, error) {
 | 
				
			||||||
	var inj injectedResult
 | 
						var inj injectedResult
 | 
				
			||||||
	if err := DecodeInto(injArgs, &inj); err != nil {
 | 
						if err := DecodeInto(injArgs, &inj); err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
@@ -61,7 +61,7 @@ func newScoreWithNormalizePlugin1(injArgs *runtime.Unknown, f FrameworkHandle) (
 | 
				
			|||||||
	return &TestScoreWithNormalizePlugin{scoreWithNormalizePlugin1, inj}, nil
 | 
						return &TestScoreWithNormalizePlugin{scoreWithNormalizePlugin1, inj}, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func newScoreWithNormalizePlugin2(injArgs *runtime.Unknown, f FrameworkHandle) (Plugin, error) {
 | 
					func newScoreWithNormalizePlugin2(injArgs runtime.Object, f FrameworkHandle) (Plugin, error) {
 | 
				
			||||||
	var inj injectedResult
 | 
						var inj injectedResult
 | 
				
			||||||
	if err := DecodeInto(injArgs, &inj); err != nil {
 | 
						if err := DecodeInto(injArgs, &inj); err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
@@ -69,7 +69,7 @@ func newScoreWithNormalizePlugin2(injArgs *runtime.Unknown, f FrameworkHandle) (
 | 
				
			|||||||
	return &TestScoreWithNormalizePlugin{scoreWithNormalizePlugin2, inj}, nil
 | 
						return &TestScoreWithNormalizePlugin{scoreWithNormalizePlugin2, inj}, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func newScorePlugin1(injArgs *runtime.Unknown, f FrameworkHandle) (Plugin, error) {
 | 
					func newScorePlugin1(injArgs runtime.Object, f FrameworkHandle) (Plugin, error) {
 | 
				
			||||||
	var inj injectedResult
 | 
						var inj injectedResult
 | 
				
			||||||
	if err := DecodeInto(injArgs, &inj); err != nil {
 | 
						if err := DecodeInto(injArgs, &inj); err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
@@ -77,7 +77,7 @@ func newScorePlugin1(injArgs *runtime.Unknown, f FrameworkHandle) (Plugin, error
 | 
				
			|||||||
	return &TestScorePlugin{scorePlugin1, inj}, nil
 | 
						return &TestScorePlugin{scorePlugin1, inj}, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func newPluginNotImplementingScore(_ *runtime.Unknown, _ FrameworkHandle) (Plugin, error) {
 | 
					func newPluginNotImplementingScore(_ runtime.Object, _ FrameworkHandle) (Plugin, error) {
 | 
				
			||||||
	return &PluginNotImplementingScore{}, nil
 | 
						return &PluginNotImplementingScore{}, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -259,7 +259,7 @@ func (dp *TestDuplicatePlugin) PreFilterExtensions() PreFilterExtensions {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
var _ PreFilterPlugin = &TestDuplicatePlugin{}
 | 
					var _ PreFilterPlugin = &TestDuplicatePlugin{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func newDuplicatePlugin(_ *runtime.Unknown, _ FrameworkHandle) (Plugin, error) {
 | 
					func newDuplicatePlugin(_ runtime.Object, _ FrameworkHandle) (Plugin, error) {
 | 
				
			||||||
	return &TestDuplicatePlugin{}, nil
 | 
						return &TestDuplicatePlugin{}, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -277,7 +277,7 @@ func (pp *TestPermitPlugin) Permit(ctx context.Context, state *CycleState, p *v1
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
var _ QueueSortPlugin = &TestQueueSortPlugin{}
 | 
					var _ QueueSortPlugin = &TestQueueSortPlugin{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func newQueueSortPlugin(_ *runtime.Unknown, _ FrameworkHandle) (Plugin, error) {
 | 
					func newQueueSortPlugin(_ runtime.Object, _ FrameworkHandle) (Plugin, error) {
 | 
				
			||||||
	return &TestQueueSortPlugin{}, nil
 | 
						return &TestQueueSortPlugin{}, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -294,7 +294,7 @@ func (pl *TestQueueSortPlugin) Less(_, _ *PodInfo) bool {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
var _ BindPlugin = &TestBindPlugin{}
 | 
					var _ BindPlugin = &TestBindPlugin{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func newBindPlugin(_ *runtime.Unknown, _ FrameworkHandle) (Plugin, error) {
 | 
					func newBindPlugin(_ runtime.Object, _ FrameworkHandle) (Plugin, error) {
 | 
				
			||||||
	return &TestBindPlugin{}, nil
 | 
						return &TestBindPlugin{}, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -479,7 +479,7 @@ func TestRunScorePlugins(t *testing.T) {
 | 
				
			|||||||
			pluginConfigs: []config.PluginConfig{
 | 
								pluginConfigs: []config.PluginConfig{
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					Name: scorePlugin1,
 | 
										Name: scorePlugin1,
 | 
				
			||||||
					Args: runtime.Unknown{
 | 
										Args: &runtime.Unknown{
 | 
				
			||||||
						Raw: []byte(`{ "scoreRes": 1 }`),
 | 
											Raw: []byte(`{ "scoreRes": 1 }`),
 | 
				
			||||||
					},
 | 
										},
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
@@ -496,7 +496,7 @@ func TestRunScorePlugins(t *testing.T) {
 | 
				
			|||||||
			pluginConfigs: []config.PluginConfig{
 | 
								pluginConfigs: []config.PluginConfig{
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					Name: scoreWithNormalizePlugin1,
 | 
										Name: scoreWithNormalizePlugin1,
 | 
				
			||||||
					Args: runtime.Unknown{
 | 
										Args: &runtime.Unknown{
 | 
				
			||||||
						Raw: []byte(`{ "scoreRes": 10, "normalizeRes": 5 }`),
 | 
											Raw: []byte(`{ "scoreRes": 10, "normalizeRes": 5 }`),
 | 
				
			||||||
					},
 | 
										},
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
@@ -512,19 +512,19 @@ func TestRunScorePlugins(t *testing.T) {
 | 
				
			|||||||
			pluginConfigs: []config.PluginConfig{
 | 
								pluginConfigs: []config.PluginConfig{
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					Name: scorePlugin1,
 | 
										Name: scorePlugin1,
 | 
				
			||||||
					Args: runtime.Unknown{
 | 
										Args: &runtime.Unknown{
 | 
				
			||||||
						Raw: []byte(`{ "scoreRes": 1 }`),
 | 
											Raw: []byte(`{ "scoreRes": 1 }`),
 | 
				
			||||||
					},
 | 
										},
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					Name: scoreWithNormalizePlugin1,
 | 
										Name: scoreWithNormalizePlugin1,
 | 
				
			||||||
					Args: runtime.Unknown{
 | 
										Args: &runtime.Unknown{
 | 
				
			||||||
						Raw: []byte(`{ "scoreRes": 3, "normalizeRes": 4}`),
 | 
											Raw: []byte(`{ "scoreRes": 3, "normalizeRes": 4}`),
 | 
				
			||||||
					},
 | 
										},
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					Name: scoreWithNormalizePlugin2,
 | 
										Name: scoreWithNormalizePlugin2,
 | 
				
			||||||
					Args: runtime.Unknown{
 | 
										Args: &runtime.Unknown{
 | 
				
			||||||
						Raw: []byte(`{ "scoreRes": 4, "normalizeRes": 5}`),
 | 
											Raw: []byte(`{ "scoreRes": 4, "normalizeRes": 5}`),
 | 
				
			||||||
					},
 | 
										},
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
@@ -543,7 +543,7 @@ func TestRunScorePlugins(t *testing.T) {
 | 
				
			|||||||
			pluginConfigs: []config.PluginConfig{
 | 
								pluginConfigs: []config.PluginConfig{
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					Name: scoreWithNormalizePlugin1,
 | 
										Name: scoreWithNormalizePlugin1,
 | 
				
			||||||
					Args: runtime.Unknown{
 | 
										Args: &runtime.Unknown{
 | 
				
			||||||
						Raw: []byte(`{ "scoreStatus": 1 }`),
 | 
											Raw: []byte(`{ "scoreStatus": 1 }`),
 | 
				
			||||||
					},
 | 
										},
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
@@ -556,7 +556,7 @@ func TestRunScorePlugins(t *testing.T) {
 | 
				
			|||||||
			pluginConfigs: []config.PluginConfig{
 | 
								pluginConfigs: []config.PluginConfig{
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					Name: scoreWithNormalizePlugin1,
 | 
										Name: scoreWithNormalizePlugin1,
 | 
				
			||||||
					Args: runtime.Unknown{
 | 
										Args: &runtime.Unknown{
 | 
				
			||||||
						Raw: []byte(`{ "normalizeStatus": 1 }`),
 | 
											Raw: []byte(`{ "normalizeStatus": 1 }`),
 | 
				
			||||||
					},
 | 
										},
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
@@ -570,7 +570,7 @@ func TestRunScorePlugins(t *testing.T) {
 | 
				
			|||||||
			pluginConfigs: []config.PluginConfig{
 | 
								pluginConfigs: []config.PluginConfig{
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					Name: scorePlugin1,
 | 
										Name: scorePlugin1,
 | 
				
			||||||
					Args: runtime.Unknown{
 | 
										Args: &runtime.Unknown{
 | 
				
			||||||
						Raw: []byte(fmt.Sprintf(`{ "scoreRes": %d }`, MaxNodeScore+1)),
 | 
											Raw: []byte(fmt.Sprintf(`{ "scoreRes": %d }`, MaxNodeScore+1)),
 | 
				
			||||||
					},
 | 
										},
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
@@ -583,7 +583,7 @@ func TestRunScorePlugins(t *testing.T) {
 | 
				
			|||||||
			pluginConfigs: []config.PluginConfig{
 | 
								pluginConfigs: []config.PluginConfig{
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					Name: scorePlugin1,
 | 
										Name: scorePlugin1,
 | 
				
			||||||
					Args: runtime.Unknown{
 | 
										Args: &runtime.Unknown{
 | 
				
			||||||
						Raw: []byte(fmt.Sprintf(`{ "scoreRes": %d }`, MinNodeScore-1)),
 | 
											Raw: []byte(fmt.Sprintf(`{ "scoreRes": %d }`, MinNodeScore-1)),
 | 
				
			||||||
					},
 | 
										},
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
@@ -596,7 +596,7 @@ func TestRunScorePlugins(t *testing.T) {
 | 
				
			|||||||
			pluginConfigs: []config.PluginConfig{
 | 
								pluginConfigs: []config.PluginConfig{
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					Name: scoreWithNormalizePlugin1,
 | 
										Name: scoreWithNormalizePlugin1,
 | 
				
			||||||
					Args: runtime.Unknown{
 | 
										Args: &runtime.Unknown{
 | 
				
			||||||
						Raw: []byte(fmt.Sprintf(`{ "normalizeRes": %d }`, MaxNodeScore+1)),
 | 
											Raw: []byte(fmt.Sprintf(`{ "normalizeRes": %d }`, MaxNodeScore+1)),
 | 
				
			||||||
					},
 | 
										},
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
@@ -609,7 +609,7 @@ func TestRunScorePlugins(t *testing.T) {
 | 
				
			|||||||
			pluginConfigs: []config.PluginConfig{
 | 
								pluginConfigs: []config.PluginConfig{
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					Name: scoreWithNormalizePlugin1,
 | 
										Name: scoreWithNormalizePlugin1,
 | 
				
			||||||
					Args: runtime.Unknown{
 | 
										Args: &runtime.Unknown{
 | 
				
			||||||
						Raw: []byte(fmt.Sprintf(`{ "normalizeRes": %d }`, MinNodeScore-1)),
 | 
											Raw: []byte(fmt.Sprintf(`{ "normalizeRes": %d }`, MinNodeScore-1)),
 | 
				
			||||||
					},
 | 
										},
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
@@ -650,11 +650,11 @@ func TestPreFilterPlugins(t *testing.T) {
 | 
				
			|||||||
	preFilter2 := &TestPreFilterWithExtensionsPlugin{}
 | 
						preFilter2 := &TestPreFilterWithExtensionsPlugin{}
 | 
				
			||||||
	r := make(Registry)
 | 
						r := make(Registry)
 | 
				
			||||||
	r.Register(preFilterPluginName,
 | 
						r.Register(preFilterPluginName,
 | 
				
			||||||
		func(_ *runtime.Unknown, fh FrameworkHandle) (Plugin, error) {
 | 
							func(_ runtime.Object, fh FrameworkHandle) (Plugin, error) {
 | 
				
			||||||
			return preFilter1, nil
 | 
								return preFilter1, nil
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
	r.Register(preFilterWithExtensionsPluginName,
 | 
						r.Register(preFilterWithExtensionsPluginName,
 | 
				
			||||||
		func(_ *runtime.Unknown, fh FrameworkHandle) (Plugin, error) {
 | 
							func(_ runtime.Object, fh FrameworkHandle) (Plugin, error) {
 | 
				
			||||||
			return preFilter2, nil
 | 
								return preFilter2, nil
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
	plugins := &config.Plugins{PreFilter: &config.PluginSet{Enabled: []config.Plugin{{Name: preFilterWithExtensionsPluginName}, {Name: preFilterPluginName}}}}
 | 
						plugins := &config.Plugins{PreFilter: &config.PluginSet{Enabled: []config.Plugin{{Name: preFilterWithExtensionsPluginName}, {Name: preFilterPluginName}}}}
 | 
				
			||||||
@@ -874,7 +874,7 @@ func TestFilterPlugins(t *testing.T) {
 | 
				
			|||||||
				// register all plugins
 | 
									// register all plugins
 | 
				
			||||||
				tmpPl := pl
 | 
									tmpPl := pl
 | 
				
			||||||
				if err := registry.Register(pl.name,
 | 
									if err := registry.Register(pl.name,
 | 
				
			||||||
					func(_ *runtime.Unknown, _ FrameworkHandle) (Plugin, error) {
 | 
										func(_ runtime.Object, _ FrameworkHandle) (Plugin, error) {
 | 
				
			||||||
						return tmpPl, nil
 | 
											return tmpPl, nil
 | 
				
			||||||
					}); err != nil {
 | 
										}); err != nil {
 | 
				
			||||||
					t.Fatalf("fail to register filter plugin (%s)", pl.name)
 | 
										t.Fatalf("fail to register filter plugin (%s)", pl.name)
 | 
				
			||||||
@@ -1032,7 +1032,7 @@ func TestPreBindPlugins(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
			for _, pl := range tt.plugins {
 | 
								for _, pl := range tt.plugins {
 | 
				
			||||||
				tmpPl := pl
 | 
									tmpPl := pl
 | 
				
			||||||
				if err := registry.Register(pl.name, func(_ *runtime.Unknown, _ FrameworkHandle) (Plugin, error) {
 | 
									if err := registry.Register(pl.name, func(_ runtime.Object, _ FrameworkHandle) (Plugin, error) {
 | 
				
			||||||
					return tmpPl, nil
 | 
										return tmpPl, nil
 | 
				
			||||||
				}); err != nil {
 | 
									}); err != nil {
 | 
				
			||||||
					t.Fatalf("Unable to register pre bind plugins: %s", pl.name)
 | 
										t.Fatalf("Unable to register pre bind plugins: %s", pl.name)
 | 
				
			||||||
@@ -1188,7 +1188,7 @@ func TestReservePlugins(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
			for _, pl := range tt.plugins {
 | 
								for _, pl := range tt.plugins {
 | 
				
			||||||
				tmpPl := pl
 | 
									tmpPl := pl
 | 
				
			||||||
				if err := registry.Register(pl.name, func(_ *runtime.Unknown, _ FrameworkHandle) (Plugin, error) {
 | 
									if err := registry.Register(pl.name, func(_ runtime.Object, _ FrameworkHandle) (Plugin, error) {
 | 
				
			||||||
					return tmpPl, nil
 | 
										return tmpPl, nil
 | 
				
			||||||
				}); err != nil {
 | 
									}); err != nil {
 | 
				
			||||||
					t.Fatalf("Unable to register pre bind plugins: %s", pl.name)
 | 
										t.Fatalf("Unable to register pre bind plugins: %s", pl.name)
 | 
				
			||||||
@@ -1311,7 +1311,7 @@ func TestPermitPlugins(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
		for _, pl := range tt.plugins {
 | 
							for _, pl := range tt.plugins {
 | 
				
			||||||
			tmpPl := pl
 | 
								tmpPl := pl
 | 
				
			||||||
			if err := registry.Register(pl.name, func(_ *runtime.Unknown, _ FrameworkHandle) (Plugin, error) {
 | 
								if err := registry.Register(pl.name, func(_ runtime.Object, _ FrameworkHandle) (Plugin, error) {
 | 
				
			||||||
				return tmpPl, nil
 | 
									return tmpPl, nil
 | 
				
			||||||
			}); err != nil {
 | 
								}); err != nil {
 | 
				
			||||||
				t.Fatalf("Unable to register Permit plugin: %s", pl.name)
 | 
									t.Fatalf("Unable to register Permit plugin: %s", pl.name)
 | 
				
			||||||
@@ -1469,7 +1469,7 @@ func TestRecordingMetrics(t *testing.T) {
 | 
				
			|||||||
			plugin := &TestPlugin{name: testPlugin, inj: tt.inject}
 | 
								plugin := &TestPlugin{name: testPlugin, inj: tt.inject}
 | 
				
			||||||
			r := make(Registry)
 | 
								r := make(Registry)
 | 
				
			||||||
			r.Register(testPlugin,
 | 
								r.Register(testPlugin,
 | 
				
			||||||
				func(_ *runtime.Unknown, fh FrameworkHandle) (Plugin, error) {
 | 
									func(_ runtime.Object, fh FrameworkHandle) (Plugin, error) {
 | 
				
			||||||
					return plugin, nil
 | 
										return plugin, nil
 | 
				
			||||||
				})
 | 
									})
 | 
				
			||||||
			pluginSet := &config.PluginSet{Enabled: []config.Plugin{{Name: testPlugin, Weight: 1}}}
 | 
								pluginSet := &config.PluginSet{Enabled: []config.Plugin{{Name: testPlugin, Weight: 1}}}
 | 
				
			||||||
@@ -1584,7 +1584,7 @@ func TestRunBindPlugins(t *testing.T) {
 | 
				
			|||||||
				name := fmt.Sprintf("bind-%d", i)
 | 
									name := fmt.Sprintf("bind-%d", i)
 | 
				
			||||||
				plugin := &TestPlugin{name: name, inj: injectedResult{BindStatus: int(inj)}}
 | 
									plugin := &TestPlugin{name: name, inj: injectedResult{BindStatus: int(inj)}}
 | 
				
			||||||
				r.Register(name,
 | 
									r.Register(name,
 | 
				
			||||||
					func(_ *runtime.Unknown, fh FrameworkHandle) (Plugin, error) {
 | 
										func(_ runtime.Object, fh FrameworkHandle) (Plugin, error) {
 | 
				
			||||||
						return plugin, nil
 | 
											return plugin, nil
 | 
				
			||||||
					})
 | 
										})
 | 
				
			||||||
				pluginSet.Enabled = append(pluginSet.Enabled, config.Plugin{Name: name})
 | 
									pluginSet.Enabled = append(pluginSet.Enabled, config.Plugin{Name: name})
 | 
				
			||||||
@@ -1635,7 +1635,7 @@ func TestPermitWaitDurationMetric(t *testing.T) {
 | 
				
			|||||||
			plugin := &TestPlugin{name: testPlugin, inj: tt.inject}
 | 
								plugin := &TestPlugin{name: testPlugin, inj: tt.inject}
 | 
				
			||||||
			r := make(Registry)
 | 
								r := make(Registry)
 | 
				
			||||||
			err := r.Register(testPlugin,
 | 
								err := r.Register(testPlugin,
 | 
				
			||||||
				func(_ *runtime.Unknown, fh FrameworkHandle) (Plugin, error) {
 | 
									func(_ runtime.Object, fh FrameworkHandle) (Plugin, error) {
 | 
				
			||||||
					return plugin, nil
 | 
										return plugin, nil
 | 
				
			||||||
				})
 | 
									})
 | 
				
			||||||
			if err != nil {
 | 
								if err != nil {
 | 
				
			||||||
@@ -1694,7 +1694,7 @@ func TestWaitOnPermit(t *testing.T) {
 | 
				
			|||||||
			testPermitPlugin := &TestPermitPlugin{}
 | 
								testPermitPlugin := &TestPermitPlugin{}
 | 
				
			||||||
			r := make(Registry)
 | 
								r := make(Registry)
 | 
				
			||||||
			r.Register(permitPlugin,
 | 
								r.Register(permitPlugin,
 | 
				
			||||||
				func(_ *runtime.Unknown, fh FrameworkHandle) (Plugin, error) {
 | 
									func(_ runtime.Object, fh FrameworkHandle) (Plugin, error) {
 | 
				
			||||||
					return testPermitPlugin, nil
 | 
										return testPermitPlugin, nil
 | 
				
			||||||
				})
 | 
									})
 | 
				
			||||||
			plugins := &config.Plugins{
 | 
								plugins := &config.Plugins{
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -25,11 +25,18 @@ import (
 | 
				
			|||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// PluginFactory is a function that builds a plugin.
 | 
					// PluginFactory is a function that builds a plugin.
 | 
				
			||||||
type PluginFactory = func(configuration *runtime.Unknown, f FrameworkHandle) (Plugin, error)
 | 
					type PluginFactory = func(configuration runtime.Object, f FrameworkHandle) (Plugin, error)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// DecodeInto decodes configuration whose type is *runtime.Unknown to the interface into.
 | 
					// DecodeInto decodes configuration whose type is *runtime.Unknown to the interface into.
 | 
				
			||||||
func DecodeInto(configuration *runtime.Unknown, into interface{}) error {
 | 
					func DecodeInto(obj runtime.Object, into interface{}) error {
 | 
				
			||||||
	if configuration == nil || configuration.Raw == nil {
 | 
						if obj == nil {
 | 
				
			||||||
 | 
							return nil
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						configuration, ok := obj.(*runtime.Unknown)
 | 
				
			||||||
 | 
						if !ok {
 | 
				
			||||||
 | 
							return fmt.Errorf("want args of type runtime.Unknown, got %T", obj)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if configuration.Raw == nil {
 | 
				
			||||||
		return nil
 | 
							return nil
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -102,7 +102,7 @@ func (p *mockNoopPlugin) Name() string {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func NewMockNoopPluginFactory() PluginFactory {
 | 
					func NewMockNoopPluginFactory() PluginFactory {
 | 
				
			||||||
	return func(_ *runtime.Unknown, _ FrameworkHandle) (Plugin, error) {
 | 
						return func(_ runtime.Object, _ FrameworkHandle) (Plugin, error) {
 | 
				
			||||||
		return &mockNoopPlugin{}, nil
 | 
							return &mockNoopPlugin{}, nil
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -91,7 +91,7 @@ func NewRecorderFactory(b events.EventBroadcaster) RecorderFactory {
 | 
				
			|||||||
type cfgValidator struct {
 | 
					type cfgValidator struct {
 | 
				
			||||||
	m             Map
 | 
						m             Map
 | 
				
			||||||
	queueSort     string
 | 
						queueSort     string
 | 
				
			||||||
	queueSortArgs runtime.Unknown
 | 
						queueSortArgs runtime.Object
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (v *cfgValidator) validate(cfg config.KubeSchedulerProfile) error {
 | 
					func (v *cfgValidator) validate(cfg config.KubeSchedulerProfile) error {
 | 
				
			||||||
@@ -108,7 +108,7 @@ func (v *cfgValidator) validate(cfg config.KubeSchedulerProfile) error {
 | 
				
			|||||||
		return fmt.Errorf("one queue sort plugin required for profile with scheduler name %q", cfg.SchedulerName)
 | 
							return fmt.Errorf("one queue sort plugin required for profile with scheduler name %q", cfg.SchedulerName)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	queueSort := cfg.Plugins.QueueSort.Enabled[0].Name
 | 
						queueSort := cfg.Plugins.QueueSort.Enabled[0].Name
 | 
				
			||||||
	var queueSortArgs runtime.Unknown
 | 
						var queueSortArgs runtime.Object
 | 
				
			||||||
	for _, plCfg := range cfg.PluginConfig {
 | 
						for _, plCfg := range cfg.PluginConfig {
 | 
				
			||||||
		if plCfg.Name == queueSort {
 | 
							if plCfg.Name == queueSort {
 | 
				
			||||||
			queueSortArgs = plCfg.Args
 | 
								queueSortArgs = plCfg.Args
 | 
				
			||||||
@@ -123,7 +123,7 @@ func (v *cfgValidator) validate(cfg config.KubeSchedulerProfile) error {
 | 
				
			|||||||
		return fmt.Errorf("different queue sort plugins for profile %q: %q, first: %q", cfg.SchedulerName, queueSort, v.queueSort)
 | 
							return fmt.Errorf("different queue sort plugins for profile %q: %q, first: %q", cfg.SchedulerName, queueSort, v.queueSort)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if !cmp.Equal(v.queueSortArgs, queueSortArgs) {
 | 
						if !cmp.Equal(v.queueSortArgs, queueSortArgs) {
 | 
				
			||||||
		return fmt.Errorf("different queue sort plugin args for profile %q: %s", cfg.SchedulerName, queueSortArgs.Raw)
 | 
							return fmt.Errorf("different queue sort plugin args for profile %q", cfg.SchedulerName)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -63,7 +63,7 @@ func TestNewProfile(t *testing.T) {
 | 
				
			|||||||
				PluginConfig: []config.PluginConfig{
 | 
									PluginConfig: []config.PluginConfig{
 | 
				
			||||||
					{
 | 
										{
 | 
				
			||||||
						Name: "QueueSort",
 | 
											Name: "QueueSort",
 | 
				
			||||||
						Args: runtime.Unknown{Raw: []byte("{}")},
 | 
											Args: &runtime.Unknown{Raw: []byte("{}")},
 | 
				
			||||||
					},
 | 
										},
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
@@ -153,7 +153,7 @@ func TestNewMap(t *testing.T) {
 | 
				
			|||||||
					PluginConfig: []config.PluginConfig{
 | 
										PluginConfig: []config.PluginConfig{
 | 
				
			||||||
						{
 | 
											{
 | 
				
			||||||
							Name: "Bind2",
 | 
												Name: "Bind2",
 | 
				
			||||||
							Args: runtime.Unknown{Raw: []byte("{}")},
 | 
												Args: &runtime.Unknown{Raw: []byte("{}")},
 | 
				
			||||||
						},
 | 
											},
 | 
				
			||||||
					},
 | 
										},
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
@@ -215,7 +215,7 @@ func TestNewMap(t *testing.T) {
 | 
				
			|||||||
					PluginConfig: []config.PluginConfig{
 | 
										PluginConfig: []config.PluginConfig{
 | 
				
			||||||
						{
 | 
											{
 | 
				
			||||||
							Name: "QueueSort",
 | 
												Name: "QueueSort",
 | 
				
			||||||
							Args: runtime.Unknown{Raw: []byte("{}")},
 | 
												Args: &runtime.Unknown{Raw: []byte("{}")},
 | 
				
			||||||
						},
 | 
											},
 | 
				
			||||||
					},
 | 
										},
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
@@ -304,7 +304,7 @@ func (p *fakePlugin) Bind(context.Context, *framework.CycleState, *v1.Pod, strin
 | 
				
			|||||||
	return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func newFakePlugin(_ *runtime.Unknown, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func newFakePlugin(_ runtime.Object, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	return &fakePlugin{}, nil
 | 
						return &fakePlugin{}, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -388,7 +388,7 @@ type fakeNodeSelector struct {
 | 
				
			|||||||
	fakeNodeSelectorArgs
 | 
						fakeNodeSelectorArgs
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func newFakeNodeSelector(args *runtime.Unknown, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
					func newFakeNodeSelector(args runtime.Object, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
	pl := &fakeNodeSelector{}
 | 
						pl := &fakeNodeSelector{}
 | 
				
			||||||
	if err := framework.DecodeInto(args, &pl.fakeNodeSelectorArgs); err != nil {
 | 
						if err := framework.DecodeInto(args, &pl.fakeNodeSelectorArgs); err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
@@ -455,7 +455,7 @@ func TestSchedulerMultipleProfilesScheduling(t *testing.T) {
 | 
				
			|||||||
					}},
 | 
										}},
 | 
				
			||||||
				PluginConfig: []schedulerapi.PluginConfig{
 | 
									PluginConfig: []schedulerapi.PluginConfig{
 | 
				
			||||||
					{Name: "FakeNodeSelector",
 | 
										{Name: "FakeNodeSelector",
 | 
				
			||||||
						Args: runtime.Unknown{Raw: []byte(`{"nodeName":"machine2"}`)},
 | 
											Args: &runtime.Unknown{Raw: []byte(`{"nodeName":"machine2"}`)},
 | 
				
			||||||
					},
 | 
										},
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
@@ -468,7 +468,7 @@ func TestSchedulerMultipleProfilesScheduling(t *testing.T) {
 | 
				
			|||||||
					}},
 | 
										}},
 | 
				
			||||||
				PluginConfig: []schedulerapi.PluginConfig{
 | 
									PluginConfig: []schedulerapi.PluginConfig{
 | 
				
			||||||
					{Name: "FakeNodeSelector",
 | 
										{Name: "FakeNodeSelector",
 | 
				
			||||||
						Args: runtime.Unknown{Raw: []byte(`{"nodeName":"machine3"}`)},
 | 
											Args: &runtime.Unknown{Raw: []byte(`{"nodeName":"machine3"}`)},
 | 
				
			||||||
					},
 | 
										},
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -200,5 +200,5 @@ type PluginConfig struct {
 | 
				
			|||||||
	// Name defines the name of plugin being configured
 | 
						// Name defines the name of plugin being configured
 | 
				
			||||||
	Name string `json:"name"`
 | 
						Name string `json:"name"`
 | 
				
			||||||
	// Args defines the arguments passed to the plugins at the time of initialization. Args can have arbitrary structure.
 | 
						// Args defines the arguments passed to the plugins at the time of initialization. Args can have arbitrary structure.
 | 
				
			||||||
	Args runtime.Unknown `json:"args,omitempty"`
 | 
						Args runtime.RawExtension `json:"args,omitempty"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -136,7 +136,7 @@ var _ framework.PermitPlugin = &PermitPlugin{}
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// newPlugin returns a plugin factory with specified Plugin.
 | 
					// newPlugin returns a plugin factory with specified Plugin.
 | 
				
			||||||
func newPlugin(plugin framework.Plugin) framework.PluginFactory {
 | 
					func newPlugin(plugin framework.Plugin) framework.PluginFactory {
 | 
				
			||||||
	return func(_ *runtime.Unknown, fh framework.FrameworkHandle) (framework.Plugin, error) {
 | 
						return func(_ runtime.Object, fh framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
		return plugin, nil
 | 
							return plugin, nil
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -454,7 +454,7 @@ func (pp *PermitPlugin) reset() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// newPermitPlugin returns a factory for permit plugin with specified PermitPlugin.
 | 
					// newPermitPlugin returns a factory for permit plugin with specified PermitPlugin.
 | 
				
			||||||
func newPermitPlugin(permitPlugin *PermitPlugin) framework.PluginFactory {
 | 
					func newPermitPlugin(permitPlugin *PermitPlugin) framework.PluginFactory {
 | 
				
			||||||
	return func(_ *runtime.Unknown, fh framework.FrameworkHandle) (framework.Plugin, error) {
 | 
						return func(_ runtime.Object, fh framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
		permitPlugin.fh = fh
 | 
							permitPlugin.fh = fh
 | 
				
			||||||
		return permitPlugin, nil
 | 
							return permitPlugin, nil
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -860,16 +860,16 @@ func TestBindPlugin(t *testing.T) {
 | 
				
			|||||||
	postBindPlugin := &PostBindPlugin{name: "mock-post-bind-plugin"}
 | 
						postBindPlugin := &PostBindPlugin{name: "mock-post-bind-plugin"}
 | 
				
			||||||
	// Create a plugin registry for testing. Register an unreserve, a bind plugin and a postBind plugin.
 | 
						// Create a plugin registry for testing. Register an unreserve, a bind plugin and a postBind plugin.
 | 
				
			||||||
	registry := framework.Registry{
 | 
						registry := framework.Registry{
 | 
				
			||||||
		unreservePlugin.Name(): func(_ *runtime.Unknown, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
							unreservePlugin.Name(): func(_ runtime.Object, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
			return unreservePlugin, nil
 | 
								return unreservePlugin, nil
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		bindPlugin1.Name(): func(_ *runtime.Unknown, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
							bindPlugin1.Name(): func(_ runtime.Object, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
			return bindPlugin1, nil
 | 
								return bindPlugin1, nil
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		bindPlugin2.Name(): func(_ *runtime.Unknown, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
							bindPlugin2.Name(): func(_ runtime.Object, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
			return bindPlugin2, nil
 | 
								return bindPlugin2, nil
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		postBindPlugin.Name(): func(_ *runtime.Unknown, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
							postBindPlugin.Name(): func(_ runtime.Object, _ framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
			return postBindPlugin, nil
 | 
								return postBindPlugin, nil
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -122,7 +122,7 @@ func TestPreemption(t *testing.T) {
 | 
				
			|||||||
	// Initialize scheduler with a filter plugin.
 | 
						// Initialize scheduler with a filter plugin.
 | 
				
			||||||
	var filter tokenFilter
 | 
						var filter tokenFilter
 | 
				
			||||||
	registry := make(framework.Registry)
 | 
						registry := make(framework.Registry)
 | 
				
			||||||
	err := registry.Register(filterPluginName, func(_ *runtime.Unknown, fh framework.FrameworkHandle) (framework.Plugin, error) {
 | 
						err := registry.Register(filterPluginName, func(_ runtime.Object, fh framework.FrameworkHandle) (framework.Plugin, error) {
 | 
				
			||||||
		return &filter, nil
 | 
							return &filter, nil
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user