Change config.Plugins from pointers to objects
This commit is contained in:
@@ -531,7 +531,7 @@ profiles:
|
|||||||
{
|
{
|
||||||
SchedulerName: "default-scheduler",
|
SchedulerName: "default-scheduler",
|
||||||
Plugins: &kubeschedulerconfig.Plugins{
|
Plugins: &kubeschedulerconfig.Plugins{
|
||||||
Reserve: &kubeschedulerconfig.PluginSet{
|
Reserve: kubeschedulerconfig.PluginSet{
|
||||||
Enabled: []kubeschedulerconfig.Plugin{
|
Enabled: []kubeschedulerconfig.Plugin{
|
||||||
{Name: "foo"},
|
{Name: "foo"},
|
||||||
{Name: "bar"},
|
{Name: "bar"},
|
||||||
@@ -540,7 +540,7 @@ profiles:
|
|||||||
{Name: "baz"},
|
{Name: "baz"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PreBind: &kubeschedulerconfig.PluginSet{
|
PreBind: kubeschedulerconfig.PluginSet{
|
||||||
Enabled: []kubeschedulerconfig.Plugin{
|
Enabled: []kubeschedulerconfig.Plugin{
|
||||||
{Name: "foo"},
|
{Name: "foo"},
|
||||||
},
|
},
|
||||||
@@ -606,7 +606,7 @@ profiles:
|
|||||||
{
|
{
|
||||||
SchedulerName: "foo-profile",
|
SchedulerName: "foo-profile",
|
||||||
Plugins: &kubeschedulerconfig.Plugins{
|
Plugins: &kubeschedulerconfig.Plugins{
|
||||||
Reserve: &kubeschedulerconfig.PluginSet{
|
Reserve: kubeschedulerconfig.PluginSet{
|
||||||
Enabled: []kubeschedulerconfig.Plugin{
|
Enabled: []kubeschedulerconfig.Plugin{
|
||||||
{Name: "foo"},
|
{Name: "foo"},
|
||||||
},
|
},
|
||||||
@@ -616,7 +616,7 @@ profiles:
|
|||||||
{
|
{
|
||||||
SchedulerName: "bar-profile",
|
SchedulerName: "bar-profile",
|
||||||
Plugins: &kubeschedulerconfig.Plugins{
|
Plugins: &kubeschedulerconfig.Plugins{
|
||||||
PreBind: &kubeschedulerconfig.PluginSet{
|
PreBind: kubeschedulerconfig.PluginSet{
|
||||||
Disabled: []kubeschedulerconfig.Plugin{
|
Disabled: []kubeschedulerconfig.Plugin{
|
||||||
{Name: "baz"},
|
{Name: "baz"},
|
||||||
},
|
},
|
||||||
|
@@ -70,12 +70,12 @@ func ListAlgorithmProviders() string {
|
|||||||
|
|
||||||
func getDefaultConfig() *schedulerapi.Plugins {
|
func getDefaultConfig() *schedulerapi.Plugins {
|
||||||
return &schedulerapi.Plugins{
|
return &schedulerapi.Plugins{
|
||||||
QueueSort: &schedulerapi.PluginSet{
|
QueueSort: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: queuesort.Name},
|
{Name: queuesort.Name},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PreFilter: &schedulerapi.PluginSet{
|
PreFilter: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: noderesources.FitName},
|
{Name: noderesources.FitName},
|
||||||
{Name: nodeports.Name},
|
{Name: nodeports.Name},
|
||||||
@@ -84,7 +84,7 @@ func getDefaultConfig() *schedulerapi.Plugins {
|
|||||||
{Name: volumebinding.Name},
|
{Name: volumebinding.Name},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Filter: &schedulerapi.PluginSet{
|
Filter: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: nodeunschedulable.Name},
|
{Name: nodeunschedulable.Name},
|
||||||
{Name: nodename.Name},
|
{Name: nodename.Name},
|
||||||
@@ -103,12 +103,12 @@ func getDefaultConfig() *schedulerapi.Plugins {
|
|||||||
{Name: interpodaffinity.Name},
|
{Name: interpodaffinity.Name},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PostFilter: &schedulerapi.PluginSet{
|
PostFilter: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: defaultpreemption.Name},
|
{Name: defaultpreemption.Name},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PreScore: &schedulerapi.PluginSet{
|
PreScore: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: interpodaffinity.Name},
|
{Name: interpodaffinity.Name},
|
||||||
{Name: podtopologyspread.Name},
|
{Name: podtopologyspread.Name},
|
||||||
@@ -116,7 +116,7 @@ func getDefaultConfig() *schedulerapi.Plugins {
|
|||||||
{Name: nodeaffinity.Name},
|
{Name: nodeaffinity.Name},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Score: &schedulerapi.PluginSet{
|
Score: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: noderesources.BalancedAllocationName, Weight: 1},
|
{Name: noderesources.BalancedAllocationName, Weight: 1},
|
||||||
{Name: imagelocality.Name, Weight: 1},
|
{Name: imagelocality.Name, Weight: 1},
|
||||||
@@ -131,17 +131,17 @@ func getDefaultConfig() *schedulerapi.Plugins {
|
|||||||
{Name: tainttoleration.Name, Weight: 1},
|
{Name: tainttoleration.Name, Weight: 1},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Reserve: &schedulerapi.PluginSet{
|
Reserve: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: volumebinding.Name},
|
{Name: volumebinding.Name},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PreBind: &schedulerapi.PluginSet{
|
PreBind: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: volumebinding.Name},
|
{Name: volumebinding.Name},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Bind: &schedulerapi.PluginSet{
|
Bind: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: defaultbinder.Name},
|
{Name: defaultbinder.Name},
|
||||||
},
|
},
|
||||||
|
@@ -47,12 +47,12 @@ import (
|
|||||||
|
|
||||||
func TestClusterAutoscalerProvider(t *testing.T) {
|
func TestClusterAutoscalerProvider(t *testing.T) {
|
||||||
wantConfig := &schedulerapi.Plugins{
|
wantConfig := &schedulerapi.Plugins{
|
||||||
QueueSort: &schedulerapi.PluginSet{
|
QueueSort: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: queuesort.Name},
|
{Name: queuesort.Name},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PreFilter: &schedulerapi.PluginSet{
|
PreFilter: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: noderesources.FitName},
|
{Name: noderesources.FitName},
|
||||||
{Name: nodeports.Name},
|
{Name: nodeports.Name},
|
||||||
@@ -61,7 +61,7 @@ func TestClusterAutoscalerProvider(t *testing.T) {
|
|||||||
{Name: volumebinding.Name},
|
{Name: volumebinding.Name},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Filter: &schedulerapi.PluginSet{
|
Filter: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: nodeunschedulable.Name},
|
{Name: nodeunschedulable.Name},
|
||||||
{Name: nodename.Name},
|
{Name: nodename.Name},
|
||||||
@@ -80,12 +80,12 @@ func TestClusterAutoscalerProvider(t *testing.T) {
|
|||||||
{Name: interpodaffinity.Name},
|
{Name: interpodaffinity.Name},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PostFilter: &schedulerapi.PluginSet{
|
PostFilter: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: defaultpreemption.Name},
|
{Name: defaultpreemption.Name},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PreScore: &schedulerapi.PluginSet{
|
PreScore: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: interpodaffinity.Name},
|
{Name: interpodaffinity.Name},
|
||||||
{Name: podtopologyspread.Name},
|
{Name: podtopologyspread.Name},
|
||||||
@@ -93,7 +93,7 @@ func TestClusterAutoscalerProvider(t *testing.T) {
|
|||||||
{Name: nodeaffinity.Name},
|
{Name: nodeaffinity.Name},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Score: &schedulerapi.PluginSet{
|
Score: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: noderesources.BalancedAllocationName, Weight: 1},
|
{Name: noderesources.BalancedAllocationName, Weight: 1},
|
||||||
{Name: imagelocality.Name, Weight: 1},
|
{Name: imagelocality.Name, Weight: 1},
|
||||||
@@ -105,17 +105,17 @@ func TestClusterAutoscalerProvider(t *testing.T) {
|
|||||||
{Name: tainttoleration.Name, Weight: 1},
|
{Name: tainttoleration.Name, Weight: 1},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Reserve: &schedulerapi.PluginSet{
|
Reserve: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: volumebinding.Name},
|
{Name: volumebinding.Name},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PreBind: &schedulerapi.PluginSet{
|
PreBind: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: volumebinding.Name},
|
{Name: volumebinding.Name},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Bind: &schedulerapi.PluginSet{
|
Bind: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: defaultbinder.Name},
|
{Name: defaultbinder.Name},
|
||||||
},
|
},
|
||||||
@@ -138,12 +138,12 @@ func TestApplyFeatureGates(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "Feature gates disabled",
|
name: "Feature gates disabled",
|
||||||
wantConfig: &schedulerapi.Plugins{
|
wantConfig: &schedulerapi.Plugins{
|
||||||
QueueSort: &schedulerapi.PluginSet{
|
QueueSort: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: queuesort.Name},
|
{Name: queuesort.Name},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PreFilter: &schedulerapi.PluginSet{
|
PreFilter: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: noderesources.FitName},
|
{Name: noderesources.FitName},
|
||||||
{Name: nodeports.Name},
|
{Name: nodeports.Name},
|
||||||
@@ -152,7 +152,7 @@ func TestApplyFeatureGates(t *testing.T) {
|
|||||||
{Name: volumebinding.Name},
|
{Name: volumebinding.Name},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Filter: &schedulerapi.PluginSet{
|
Filter: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: nodeunschedulable.Name},
|
{Name: nodeunschedulable.Name},
|
||||||
{Name: nodename.Name},
|
{Name: nodename.Name},
|
||||||
@@ -171,12 +171,12 @@ func TestApplyFeatureGates(t *testing.T) {
|
|||||||
{Name: interpodaffinity.Name},
|
{Name: interpodaffinity.Name},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PostFilter: &schedulerapi.PluginSet{
|
PostFilter: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: defaultpreemption.Name},
|
{Name: defaultpreemption.Name},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PreScore: &schedulerapi.PluginSet{
|
PreScore: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: interpodaffinity.Name},
|
{Name: interpodaffinity.Name},
|
||||||
{Name: podtopologyspread.Name},
|
{Name: podtopologyspread.Name},
|
||||||
@@ -184,7 +184,7 @@ func TestApplyFeatureGates(t *testing.T) {
|
|||||||
{Name: nodeaffinity.Name},
|
{Name: nodeaffinity.Name},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Score: &schedulerapi.PluginSet{
|
Score: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: noderesources.BalancedAllocationName, Weight: 1},
|
{Name: noderesources.BalancedAllocationName, Weight: 1},
|
||||||
{Name: imagelocality.Name, Weight: 1},
|
{Name: imagelocality.Name, Weight: 1},
|
||||||
@@ -196,17 +196,17 @@ func TestApplyFeatureGates(t *testing.T) {
|
|||||||
{Name: tainttoleration.Name, Weight: 1},
|
{Name: tainttoleration.Name, Weight: 1},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Reserve: &schedulerapi.PluginSet{
|
Reserve: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: volumebinding.Name},
|
{Name: volumebinding.Name},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PreBind: &schedulerapi.PluginSet{
|
PreBind: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: volumebinding.Name},
|
{Name: volumebinding.Name},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Bind: &schedulerapi.PluginSet{
|
Bind: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: defaultbinder.Name},
|
{Name: defaultbinder.Name},
|
||||||
},
|
},
|
||||||
@@ -219,12 +219,12 @@ func TestApplyFeatureGates(t *testing.T) {
|
|||||||
features.DefaultPodTopologySpread: false,
|
features.DefaultPodTopologySpread: false,
|
||||||
},
|
},
|
||||||
wantConfig: &schedulerapi.Plugins{
|
wantConfig: &schedulerapi.Plugins{
|
||||||
QueueSort: &schedulerapi.PluginSet{
|
QueueSort: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: queuesort.Name},
|
{Name: queuesort.Name},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PreFilter: &schedulerapi.PluginSet{
|
PreFilter: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: noderesources.FitName},
|
{Name: noderesources.FitName},
|
||||||
{Name: nodeports.Name},
|
{Name: nodeports.Name},
|
||||||
@@ -233,7 +233,7 @@ func TestApplyFeatureGates(t *testing.T) {
|
|||||||
{Name: volumebinding.Name},
|
{Name: volumebinding.Name},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Filter: &schedulerapi.PluginSet{
|
Filter: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: nodeunschedulable.Name},
|
{Name: nodeunschedulable.Name},
|
||||||
{Name: nodename.Name},
|
{Name: nodename.Name},
|
||||||
@@ -252,12 +252,12 @@ func TestApplyFeatureGates(t *testing.T) {
|
|||||||
{Name: interpodaffinity.Name},
|
{Name: interpodaffinity.Name},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PostFilter: &schedulerapi.PluginSet{
|
PostFilter: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: defaultpreemption.Name},
|
{Name: defaultpreemption.Name},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PreScore: &schedulerapi.PluginSet{
|
PreScore: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: interpodaffinity.Name},
|
{Name: interpodaffinity.Name},
|
||||||
{Name: podtopologyspread.Name},
|
{Name: podtopologyspread.Name},
|
||||||
@@ -266,7 +266,7 @@ func TestApplyFeatureGates(t *testing.T) {
|
|||||||
{Name: selectorspread.Name},
|
{Name: selectorspread.Name},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Score: &schedulerapi.PluginSet{
|
Score: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: noderesources.BalancedAllocationName, Weight: 1},
|
{Name: noderesources.BalancedAllocationName, Weight: 1},
|
||||||
{Name: imagelocality.Name, Weight: 1},
|
{Name: imagelocality.Name, Weight: 1},
|
||||||
@@ -279,17 +279,17 @@ func TestApplyFeatureGates(t *testing.T) {
|
|||||||
{Name: selectorspread.Name, Weight: 1},
|
{Name: selectorspread.Name, Weight: 1},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Reserve: &schedulerapi.PluginSet{
|
Reserve: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: volumebinding.Name},
|
{Name: volumebinding.Name},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PreBind: &schedulerapi.PluginSet{
|
PreBind: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: volumebinding.Name},
|
{Name: volumebinding.Name},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Bind: &schedulerapi.PluginSet{
|
Bind: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: defaultbinder.Name},
|
{Name: defaultbinder.Name},
|
||||||
},
|
},
|
||||||
|
@@ -1667,13 +1667,13 @@ func TestPluginsConfigurationCompatibility(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "in-tree plugins with customized plugin config",
|
name: "in-tree plugins with customized plugin config",
|
||||||
plugins: config.Plugins{
|
plugins: config.Plugins{
|
||||||
Filter: &config.PluginSet{
|
Filter: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: "NodeLabel"},
|
{Name: "NodeLabel"},
|
||||||
{Name: "ServiceAffinity"},
|
{Name: "ServiceAffinity"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Score: &config.PluginSet{
|
Score: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: "RequestedToCapacityRatio"},
|
{Name: "RequestedToCapacityRatio"},
|
||||||
},
|
},
|
||||||
@@ -1887,7 +1887,7 @@ func TestPluginsConfigurationCompatibility(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "disable some default plugins",
|
name: "disable some default plugins",
|
||||||
plugins: config.Plugins{
|
plugins: config.Plugins{
|
||||||
PreFilter: &config.PluginSet{
|
PreFilter: config.PluginSet{
|
||||||
Disabled: []config.Plugin{
|
Disabled: []config.Plugin{
|
||||||
{Name: "NodeResourcesFit"},
|
{Name: "NodeResourcesFit"},
|
||||||
{Name: "NodePorts"},
|
{Name: "NodePorts"},
|
||||||
@@ -1896,7 +1896,7 @@ func TestPluginsConfigurationCompatibility(t *testing.T) {
|
|||||||
{Name: "VolumeBinding"},
|
{Name: "VolumeBinding"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Filter: &config.PluginSet{
|
Filter: config.PluginSet{
|
||||||
Disabled: []config.Plugin{
|
Disabled: []config.Plugin{
|
||||||
{Name: "NodeUnschedulable"},
|
{Name: "NodeUnschedulable"},
|
||||||
{Name: "NodeResourcesFit"},
|
{Name: "NodeResourcesFit"},
|
||||||
@@ -1915,12 +1915,12 @@ func TestPluginsConfigurationCompatibility(t *testing.T) {
|
|||||||
{Name: "PodTopologySpread"},
|
{Name: "PodTopologySpread"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PostFilter: &config.PluginSet{
|
PostFilter: config.PluginSet{
|
||||||
Disabled: []config.Plugin{
|
Disabled: []config.Plugin{
|
||||||
{Name: "DefaultPreemption"},
|
{Name: "DefaultPreemption"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PreScore: &config.PluginSet{
|
PreScore: config.PluginSet{
|
||||||
Disabled: []config.Plugin{
|
Disabled: []config.Plugin{
|
||||||
{Name: "InterPodAffinity"},
|
{Name: "InterPodAffinity"},
|
||||||
{Name: "NodeAffinity"},
|
{Name: "NodeAffinity"},
|
||||||
@@ -1929,7 +1929,7 @@ func TestPluginsConfigurationCompatibility(t *testing.T) {
|
|||||||
{Name: "PodTopologySpread"},
|
{Name: "PodTopologySpread"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Score: &config.PluginSet{
|
Score: config.PluginSet{
|
||||||
Disabled: []config.Plugin{
|
Disabled: []config.Plugin{
|
||||||
{Name: "NodeResourcesBalancedAllocation"},
|
{Name: "NodeResourcesBalancedAllocation"},
|
||||||
{Name: "ImageLocality"},
|
{Name: "ImageLocality"},
|
||||||
@@ -1942,17 +1942,17 @@ func TestPluginsConfigurationCompatibility(t *testing.T) {
|
|||||||
{Name: "PodTopologySpread"},
|
{Name: "PodTopologySpread"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PreBind: &config.PluginSet{
|
PreBind: config.PluginSet{
|
||||||
Disabled: []config.Plugin{
|
Disabled: []config.Plugin{
|
||||||
{Name: "VolumeBinding"},
|
{Name: "VolumeBinding"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PostBind: &config.PluginSet{
|
PostBind: config.PluginSet{
|
||||||
Disabled: []config.Plugin{
|
Disabled: []config.Plugin{
|
||||||
{Name: "VolumeBinding"},
|
{Name: "VolumeBinding"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Reserve: &config.PluginSet{
|
Reserve: config.PluginSet{
|
||||||
Disabled: []config.Plugin{
|
Disabled: []config.Plugin{
|
||||||
{Name: "VolumeBinding"},
|
{Name: "VolumeBinding"},
|
||||||
},
|
},
|
||||||
@@ -1968,7 +1968,7 @@ func TestPluginsConfigurationCompatibility(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "reverse default plugins order with changing score weight",
|
name: "reverse default plugins order with changing score weight",
|
||||||
plugins: config.Plugins{
|
plugins: config.Plugins{
|
||||||
QueueSort: &config.PluginSet{
|
QueueSort: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: "PrioritySort"},
|
{Name: "PrioritySort"},
|
||||||
},
|
},
|
||||||
@@ -1976,7 +1976,7 @@ func TestPluginsConfigurationCompatibility(t *testing.T) {
|
|||||||
{Name: "*"},
|
{Name: "*"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PreFilter: &config.PluginSet{
|
PreFilter: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: "InterPodAffinity"},
|
{Name: "InterPodAffinity"},
|
||||||
{Name: "NodePorts"},
|
{Name: "NodePorts"},
|
||||||
@@ -1986,7 +1986,7 @@ func TestPluginsConfigurationCompatibility(t *testing.T) {
|
|||||||
{Name: "*"},
|
{Name: "*"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Filter: &config.PluginSet{
|
Filter: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: "InterPodAffinity"},
|
{Name: "InterPodAffinity"},
|
||||||
{Name: "VolumeZone"},
|
{Name: "VolumeZone"},
|
||||||
@@ -2007,7 +2007,7 @@ func TestPluginsConfigurationCompatibility(t *testing.T) {
|
|||||||
{Name: "*"},
|
{Name: "*"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PreScore: &config.PluginSet{
|
PreScore: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: "PodTopologySpread"},
|
{Name: "PodTopologySpread"},
|
||||||
{Name: "TaintToleration"},
|
{Name: "TaintToleration"},
|
||||||
@@ -2018,7 +2018,7 @@ func TestPluginsConfigurationCompatibility(t *testing.T) {
|
|||||||
{Name: "*"},
|
{Name: "*"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Score: &config.PluginSet{
|
Score: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: "PodTopologySpread", Weight: 24},
|
{Name: "PodTopologySpread", Weight: 24},
|
||||||
{Name: "TaintToleration", Weight: 24},
|
{Name: "TaintToleration", Weight: 24},
|
||||||
@@ -2034,7 +2034,7 @@ func TestPluginsConfigurationCompatibility(t *testing.T) {
|
|||||||
{Name: "*"},
|
{Name: "*"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Bind: &config.PluginSet{
|
Bind: config.PluginSet{
|
||||||
Enabled: []config.Plugin{{Name: "DefaultBinder"}},
|
Enabled: []config.Plugin{{Name: "DefaultBinder"}},
|
||||||
Disabled: []config.Plugin{{Name: "*"}},
|
Disabled: []config.Plugin{{Name: "*"}},
|
||||||
},
|
},
|
||||||
|
@@ -169,39 +169,39 @@ type SchedulerPolicyConfigMapSource struct {
|
|||||||
// be invoked before default plugins, default plugins must be disabled and re-enabled here in desired order.
|
// be invoked before default plugins, default plugins must be disabled and re-enabled here in desired order.
|
||||||
type Plugins struct {
|
type Plugins struct {
|
||||||
// QueueSort is a list of plugins that should be invoked when sorting pods in the scheduling queue.
|
// QueueSort is a list of plugins that should be invoked when sorting pods in the scheduling queue.
|
||||||
QueueSort *PluginSet
|
QueueSort PluginSet
|
||||||
|
|
||||||
// PreFilter is a list of plugins that should be invoked at "PreFilter" extension point of the scheduling framework.
|
// PreFilter is a list of plugins that should be invoked at "PreFilter" extension point of the scheduling framework.
|
||||||
PreFilter *PluginSet
|
PreFilter PluginSet
|
||||||
|
|
||||||
// Filter is a list of plugins that should be invoked when filtering out nodes that cannot run the Pod.
|
// Filter is a list of plugins that should be invoked when filtering out nodes that cannot run the Pod.
|
||||||
Filter *PluginSet
|
Filter PluginSet
|
||||||
|
|
||||||
// PostFilter is a list of plugins that are invoked after filtering phase, no matter whether filtering succeeds or not.
|
// PostFilter is a list of plugins that are invoked after filtering phase, no matter whether filtering succeeds or not.
|
||||||
PostFilter *PluginSet
|
PostFilter PluginSet
|
||||||
|
|
||||||
// PreScore is a list of plugins that are invoked before scoring.
|
// PreScore is a list of plugins that are invoked before scoring.
|
||||||
PreScore *PluginSet
|
PreScore PluginSet
|
||||||
|
|
||||||
// Score is a list of plugins that should be invoked when ranking nodes that have passed the filtering phase.
|
// Score is a list of plugins that should be invoked when ranking nodes that have passed the filtering phase.
|
||||||
Score *PluginSet
|
Score PluginSet
|
||||||
|
|
||||||
// Reserve is a list of plugins invoked when reserving/unreserving resources
|
// Reserve is a list of plugins invoked when reserving/unreserving resources
|
||||||
// after a node is assigned to run the pod.
|
// after a node is assigned to run the pod.
|
||||||
Reserve *PluginSet
|
Reserve PluginSet
|
||||||
|
|
||||||
// Permit is a list of plugins that control binding of a Pod. These plugins can prevent or delay binding of a Pod.
|
// Permit is a list of plugins that control binding of a Pod. These plugins can prevent or delay binding of a Pod.
|
||||||
Permit *PluginSet
|
Permit PluginSet
|
||||||
|
|
||||||
// PreBind is a list of plugins that should be invoked before a pod is bound.
|
// PreBind is a list of plugins that should be invoked before a pod is bound.
|
||||||
PreBind *PluginSet
|
PreBind PluginSet
|
||||||
|
|
||||||
// Bind is a list of plugins that should be invoked at "Bind" extension point of the scheduling framework.
|
// Bind is a list of plugins that should be invoked at "Bind" extension point of the scheduling framework.
|
||||||
// The scheduler call these plugins in order. Scheduler skips the rest of these plugins as soon as one returns success.
|
// The scheduler call these plugins in order. Scheduler skips the rest of these plugins as soon as one returns success.
|
||||||
Bind *PluginSet
|
Bind PluginSet
|
||||||
|
|
||||||
// PostBind is a list of plugins that should be invoked after a pod is successfully bound.
|
// PostBind is a list of plugins that should be invoked after a pod is successfully bound.
|
||||||
PostBind *PluginSet
|
PostBind PluginSet
|
||||||
}
|
}
|
||||||
|
|
||||||
// PluginSet specifies enabled and disabled plugins for an extension point.
|
// PluginSet specifies enabled and disabled plugins for an extension point.
|
||||||
@@ -252,14 +252,9 @@ const (
|
|||||||
MaxWeight = MaxTotalScore / MaxCustomPriorityScore
|
MaxWeight = MaxTotalScore / MaxCustomPriorityScore
|
||||||
)
|
)
|
||||||
|
|
||||||
func appendPluginSet(dst *PluginSet, src *PluginSet) *PluginSet {
|
func appendPluginSet(dst PluginSet, src PluginSet) PluginSet {
|
||||||
if dst == nil {
|
dst.Enabled = append(dst.Enabled, src.Enabled...)
|
||||||
dst = &PluginSet{}
|
dst.Disabled = append(dst.Disabled, src.Disabled...)
|
||||||
}
|
|
||||||
if src != nil {
|
|
||||||
dst.Enabled = append(dst.Enabled, src.Enabled...)
|
|
||||||
dst.Disabled = append(dst.Disabled, src.Disabled...)
|
|
||||||
}
|
|
||||||
return dst
|
return dst
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -301,21 +296,14 @@ func (p *Plugins) Apply(customPlugins *Plugins) {
|
|||||||
p.PostBind = mergePluginSets(p.PostBind, customPlugins.PostBind)
|
p.PostBind = mergePluginSets(p.PostBind, customPlugins.PostBind)
|
||||||
}
|
}
|
||||||
|
|
||||||
func mergePluginSets(defaultPluginSet, customPluginSet *PluginSet) *PluginSet {
|
func mergePluginSets(defaultPluginSet, customPluginSet PluginSet) PluginSet {
|
||||||
if customPluginSet == nil {
|
|
||||||
customPluginSet = &PluginSet{}
|
|
||||||
}
|
|
||||||
|
|
||||||
if defaultPluginSet == nil {
|
|
||||||
defaultPluginSet = &PluginSet{}
|
|
||||||
}
|
|
||||||
|
|
||||||
disabledPlugins := sets.NewString()
|
disabledPlugins := sets.NewString()
|
||||||
for _, disabledPlugin := range customPluginSet.Disabled {
|
for _, disabledPlugin := range customPluginSet.Disabled {
|
||||||
disabledPlugins.Insert(disabledPlugin.Name)
|
disabledPlugins.Insert(disabledPlugin.Name)
|
||||||
}
|
}
|
||||||
|
|
||||||
enabledPlugins := []Plugin{}
|
var enabledPlugins []Plugin
|
||||||
if !disabledPlugins.Has("*") {
|
if !disabledPlugins.Has("*") {
|
||||||
for _, defaultEnabledPlugin := range defaultPluginSet.Enabled {
|
for _, defaultEnabledPlugin := range defaultPluginSet.Enabled {
|
||||||
if disabledPlugins.Has(defaultEnabledPlugin.Name) {
|
if disabledPlugins.Has(defaultEnabledPlugin.Name) {
|
||||||
@@ -328,7 +316,7 @@ func mergePluginSets(defaultPluginSet, customPluginSet *PluginSet) *PluginSet {
|
|||||||
|
|
||||||
enabledPlugins = append(enabledPlugins, customPluginSet.Enabled...)
|
enabledPlugins = append(enabledPlugins, customPluginSet.Enabled...)
|
||||||
|
|
||||||
return &PluginSet{Enabled: enabledPlugins}
|
return PluginSet{Enabled: enabledPlugins}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Extender holds the parameters used to communicate with the extender. If a verb is unspecified/empty,
|
// Extender holds the parameters used to communicate with the extender. If a verb is unspecified/empty,
|
||||||
|
@@ -32,14 +32,14 @@ func TestPluginsAppend(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "AppendPlugin",
|
name: "AppendPlugin",
|
||||||
customPlugins: &Plugins{
|
customPlugins: &Plugins{
|
||||||
Filter: &PluginSet{
|
Filter: PluginSet{
|
||||||
Enabled: []Plugin{
|
Enabled: []Plugin{
|
||||||
{Name: "CustomPlugin"},
|
{Name: "CustomPlugin"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
defaultPlugins: &Plugins{
|
defaultPlugins: &Plugins{
|
||||||
Filter: &PluginSet{
|
Filter: PluginSet{
|
||||||
Enabled: []Plugin{
|
Enabled: []Plugin{
|
||||||
{Name: "DefaultPlugin1"},
|
{Name: "DefaultPlugin1"},
|
||||||
{Name: "DefaultPlugin2"},
|
{Name: "DefaultPlugin2"},
|
||||||
@@ -47,23 +47,13 @@ func TestPluginsAppend(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
expectedPlugins: &Plugins{
|
expectedPlugins: &Plugins{
|
||||||
QueueSort: &PluginSet{},
|
Filter: PluginSet{
|
||||||
PreFilter: &PluginSet{},
|
|
||||||
Filter: &PluginSet{
|
|
||||||
Enabled: []Plugin{
|
Enabled: []Plugin{
|
||||||
{Name: "DefaultPlugin1"},
|
{Name: "DefaultPlugin1"},
|
||||||
{Name: "DefaultPlugin2"},
|
{Name: "DefaultPlugin2"},
|
||||||
{Name: "CustomPlugin"},
|
{Name: "CustomPlugin"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PostFilter: &PluginSet{},
|
|
||||||
PreScore: &PluginSet{},
|
|
||||||
Score: &PluginSet{},
|
|
||||||
Reserve: &PluginSet{},
|
|
||||||
Permit: &PluginSet{},
|
|
||||||
PreBind: &PluginSet{},
|
|
||||||
Bind: &PluginSet{},
|
|
||||||
PostBind: &PluginSet{},
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -93,14 +83,14 @@ func TestPluginsApply(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "AppendCustomPlugin",
|
name: "AppendCustomPlugin",
|
||||||
customPlugins: &Plugins{
|
customPlugins: &Plugins{
|
||||||
Filter: &PluginSet{
|
Filter: PluginSet{
|
||||||
Enabled: []Plugin{
|
Enabled: []Plugin{
|
||||||
{Name: "CustomPlugin"},
|
{Name: "CustomPlugin"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
defaultPlugins: &Plugins{
|
defaultPlugins: &Plugins{
|
||||||
Filter: &PluginSet{
|
Filter: PluginSet{
|
||||||
Enabled: []Plugin{
|
Enabled: []Plugin{
|
||||||
{Name: "DefaultPlugin1"},
|
{Name: "DefaultPlugin1"},
|
||||||
{Name: "DefaultPlugin2"},
|
{Name: "DefaultPlugin2"},
|
||||||
@@ -108,29 +98,19 @@ func TestPluginsApply(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
expectedPlugins: &Plugins{
|
expectedPlugins: &Plugins{
|
||||||
QueueSort: &PluginSet{Enabled: []Plugin{}},
|
Filter: PluginSet{
|
||||||
PreFilter: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
Filter: &PluginSet{
|
|
||||||
Enabled: []Plugin{
|
Enabled: []Plugin{
|
||||||
{Name: "DefaultPlugin1"},
|
{Name: "DefaultPlugin1"},
|
||||||
{Name: "DefaultPlugin2"},
|
{Name: "DefaultPlugin2"},
|
||||||
{Name: "CustomPlugin"},
|
{Name: "CustomPlugin"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PostFilter: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
PreScore: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
Score: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
Reserve: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
Permit: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
PreBind: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
Bind: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
PostBind: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "InsertAfterDefaultPlugins2",
|
name: "InsertAfterDefaultPlugins2",
|
||||||
customPlugins: &Plugins{
|
customPlugins: &Plugins{
|
||||||
Filter: &PluginSet{
|
Filter: PluginSet{
|
||||||
Enabled: []Plugin{
|
Enabled: []Plugin{
|
||||||
{Name: "CustomPlugin"},
|
{Name: "CustomPlugin"},
|
||||||
{Name: "DefaultPlugin2"},
|
{Name: "DefaultPlugin2"},
|
||||||
@@ -141,7 +121,7 @@ func TestPluginsApply(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
defaultPlugins: &Plugins{
|
defaultPlugins: &Plugins{
|
||||||
Filter: &PluginSet{
|
Filter: PluginSet{
|
||||||
Enabled: []Plugin{
|
Enabled: []Plugin{
|
||||||
{Name: "DefaultPlugin1"},
|
{Name: "DefaultPlugin1"},
|
||||||
{Name: "DefaultPlugin2"},
|
{Name: "DefaultPlugin2"},
|
||||||
@@ -149,29 +129,19 @@ func TestPluginsApply(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
expectedPlugins: &Plugins{
|
expectedPlugins: &Plugins{
|
||||||
QueueSort: &PluginSet{Enabled: []Plugin{}},
|
Filter: PluginSet{
|
||||||
PreFilter: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
Filter: &PluginSet{
|
|
||||||
Enabled: []Plugin{
|
Enabled: []Plugin{
|
||||||
{Name: "DefaultPlugin1"},
|
{Name: "DefaultPlugin1"},
|
||||||
{Name: "CustomPlugin"},
|
{Name: "CustomPlugin"},
|
||||||
{Name: "DefaultPlugin2"},
|
{Name: "DefaultPlugin2"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PostFilter: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
PreScore: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
Score: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
Reserve: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
Permit: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
PreBind: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
Bind: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
PostBind: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "InsertBeforeAllPlugins",
|
name: "InsertBeforeAllPlugins",
|
||||||
customPlugins: &Plugins{
|
customPlugins: &Plugins{
|
||||||
Filter: &PluginSet{
|
Filter: PluginSet{
|
||||||
Enabled: []Plugin{
|
Enabled: []Plugin{
|
||||||
{Name: "CustomPlugin"},
|
{Name: "CustomPlugin"},
|
||||||
{Name: "DefaultPlugin1"},
|
{Name: "DefaultPlugin1"},
|
||||||
@@ -183,7 +153,7 @@ func TestPluginsApply(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
defaultPlugins: &Plugins{
|
defaultPlugins: &Plugins{
|
||||||
Filter: &PluginSet{
|
Filter: PluginSet{
|
||||||
Enabled: []Plugin{
|
Enabled: []Plugin{
|
||||||
{Name: "DefaultPlugin1"},
|
{Name: "DefaultPlugin1"},
|
||||||
{Name: "DefaultPlugin2"},
|
{Name: "DefaultPlugin2"},
|
||||||
@@ -191,29 +161,19 @@ func TestPluginsApply(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
expectedPlugins: &Plugins{
|
expectedPlugins: &Plugins{
|
||||||
QueueSort: &PluginSet{Enabled: []Plugin{}},
|
Filter: PluginSet{
|
||||||
PreFilter: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
Filter: &PluginSet{
|
|
||||||
Enabled: []Plugin{
|
Enabled: []Plugin{
|
||||||
{Name: "CustomPlugin"},
|
{Name: "CustomPlugin"},
|
||||||
{Name: "DefaultPlugin1"},
|
{Name: "DefaultPlugin1"},
|
||||||
{Name: "DefaultPlugin2"},
|
{Name: "DefaultPlugin2"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PostFilter: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
PreScore: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
Score: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
Reserve: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
Permit: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
PreBind: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
Bind: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
PostBind: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "ReorderDefaultPlugins",
|
name: "ReorderDefaultPlugins",
|
||||||
customPlugins: &Plugins{
|
customPlugins: &Plugins{
|
||||||
Filter: &PluginSet{
|
Filter: PluginSet{
|
||||||
Enabled: []Plugin{
|
Enabled: []Plugin{
|
||||||
{Name: "DefaultPlugin2"},
|
{Name: "DefaultPlugin2"},
|
||||||
{Name: "DefaultPlugin1"},
|
{Name: "DefaultPlugin1"},
|
||||||
@@ -224,7 +184,7 @@ func TestPluginsApply(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
defaultPlugins: &Plugins{
|
defaultPlugins: &Plugins{
|
||||||
Filter: &PluginSet{
|
Filter: PluginSet{
|
||||||
Enabled: []Plugin{
|
Enabled: []Plugin{
|
||||||
{Name: "DefaultPlugin1"},
|
{Name: "DefaultPlugin1"},
|
||||||
{Name: "DefaultPlugin2"},
|
{Name: "DefaultPlugin2"},
|
||||||
@@ -232,29 +192,19 @@ func TestPluginsApply(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
expectedPlugins: &Plugins{
|
expectedPlugins: &Plugins{
|
||||||
QueueSort: &PluginSet{Enabled: []Plugin{}},
|
Filter: PluginSet{
|
||||||
PreFilter: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
Filter: &PluginSet{
|
|
||||||
Enabled: []Plugin{
|
Enabled: []Plugin{
|
||||||
{Name: "DefaultPlugin2"},
|
{Name: "DefaultPlugin2"},
|
||||||
{Name: "DefaultPlugin1"},
|
{Name: "DefaultPlugin1"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PostFilter: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
PreScore: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
Score: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
Reserve: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
Permit: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
PreBind: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
Bind: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
PostBind: &PluginSet{Enabled: []Plugin{}},
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "ApplyNilCustomPlugin",
|
name: "ApplyNilCustomPlugin",
|
||||||
customPlugins: nil,
|
customPlugins: nil,
|
||||||
defaultPlugins: &Plugins{
|
defaultPlugins: &Plugins{
|
||||||
Filter: &PluginSet{
|
Filter: PluginSet{
|
||||||
Enabled: []Plugin{
|
Enabled: []Plugin{
|
||||||
{Name: "DefaultPlugin1"},
|
{Name: "DefaultPlugin1"},
|
||||||
{Name: "DefaultPlugin2"},
|
{Name: "DefaultPlugin2"},
|
||||||
@@ -262,21 +212,12 @@ func TestPluginsApply(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
expectedPlugins: &Plugins{
|
expectedPlugins: &Plugins{
|
||||||
QueueSort: nil,
|
Filter: PluginSet{
|
||||||
PreFilter: nil,
|
|
||||||
Filter: &PluginSet{
|
|
||||||
Enabled: []Plugin{
|
Enabled: []Plugin{
|
||||||
{Name: "DefaultPlugin1"},
|
{Name: "DefaultPlugin1"},
|
||||||
{Name: "DefaultPlugin2"},
|
{Name: "DefaultPlugin2"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PreScore: nil,
|
|
||||||
Score: nil,
|
|
||||||
Reserve: nil,
|
|
||||||
Permit: nil,
|
|
||||||
PreBind: nil,
|
|
||||||
Bind: nil,
|
|
||||||
PostBind: nil,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@@ -46,6 +46,98 @@ func getPluginArgConversionScheme() *runtime.Scheme {
|
|||||||
return pluginArgConversionScheme
|
return pluginArgConversionScheme
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func Convert_v1beta1_Plugins_To_config_Plugins(in *v1beta1.Plugins, out *config.Plugins, s conversion.Scope) error {
|
||||||
|
if err := Convert_v1beta1_PluginSet_To_config_PluginSet(in.QueueSort, &out.QueueSort, s); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := Convert_v1beta1_PluginSet_To_config_PluginSet(in.PreFilter, &out.PreFilter, s); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := Convert_v1beta1_PluginSet_To_config_PluginSet(in.Filter, &out.Filter, s); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := Convert_v1beta1_PluginSet_To_config_PluginSet(in.PostFilter, &out.PostFilter, s); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := Convert_v1beta1_PluginSet_To_config_PluginSet(in.PreScore, &out.PreScore, s); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := Convert_v1beta1_PluginSet_To_config_PluginSet(in.Score, &out.Score, s); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := Convert_v1beta1_PluginSet_To_config_PluginSet(in.Reserve, &out.Reserve, s); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := Convert_v1beta1_PluginSet_To_config_PluginSet(in.Permit, &out.Permit, s); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := Convert_v1beta1_PluginSet_To_config_PluginSet(in.PreBind, &out.PreBind, s); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := Convert_v1beta1_PluginSet_To_config_PluginSet(in.Bind, &out.Bind, s); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := Convert_v1beta1_PluginSet_To_config_PluginSet(in.PostBind, &out.PostBind, s); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func Convert_v1beta1_PluginSet_To_config_PluginSet(in *v1beta1.PluginSet, out *config.PluginSet, s conversion.Scope) error {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return autoConvert_v1beta1_PluginSet_To_config_PluginSet(in, out, s)
|
||||||
|
}
|
||||||
|
|
||||||
|
func Convert_config_Plugins_To_v1beta1_Plugins(in *config.Plugins, out *v1beta1.Plugins, s conversion.Scope) error {
|
||||||
|
out.QueueSort = new(v1beta1.PluginSet)
|
||||||
|
if err := Convert_config_PluginSet_To_v1beta1_PluginSet(&in.QueueSort, out.QueueSort, s); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
out.PreFilter = new(v1beta1.PluginSet)
|
||||||
|
if err := Convert_config_PluginSet_To_v1beta1_PluginSet(&in.PreFilter, out.PreFilter, s); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
out.Filter = new(v1beta1.PluginSet)
|
||||||
|
if err := Convert_config_PluginSet_To_v1beta1_PluginSet(&in.Filter, out.Filter, s); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
out.PostFilter = new(v1beta1.PluginSet)
|
||||||
|
if err := Convert_config_PluginSet_To_v1beta1_PluginSet(&in.PostFilter, out.PostFilter, s); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
out.PreScore = new(v1beta1.PluginSet)
|
||||||
|
if err := Convert_config_PluginSet_To_v1beta1_PluginSet(&in.PreScore, out.PreScore, s); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
out.Score = new(v1beta1.PluginSet)
|
||||||
|
if err := Convert_config_PluginSet_To_v1beta1_PluginSet(&in.Score, out.Score, s); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
out.Reserve = new(v1beta1.PluginSet)
|
||||||
|
if err := Convert_config_PluginSet_To_v1beta1_PluginSet(&in.Reserve, out.Reserve, s); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
out.Permit = new(v1beta1.PluginSet)
|
||||||
|
if err := Convert_config_PluginSet_To_v1beta1_PluginSet(&in.Permit, out.Permit, s); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
out.PreBind = new(v1beta1.PluginSet)
|
||||||
|
if err := Convert_config_PluginSet_To_v1beta1_PluginSet(&in.PreBind, out.PreBind, s); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
out.Bind = new(v1beta1.PluginSet)
|
||||||
|
if err := Convert_config_PluginSet_To_v1beta1_PluginSet(&in.Bind, out.Bind, s); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
out.PostBind = new(v1beta1.PluginSet)
|
||||||
|
if err := Convert_config_PluginSet_To_v1beta1_PluginSet(&in.PostBind, out.PostBind, s); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func Convert_v1beta1_KubeSchedulerConfiguration_To_config_KubeSchedulerConfiguration(in *v1beta1.KubeSchedulerConfiguration, out *config.KubeSchedulerConfiguration, s conversion.Scope) error {
|
func Convert_v1beta1_KubeSchedulerConfiguration_To_config_KubeSchedulerConfiguration(in *v1beta1.KubeSchedulerConfiguration, out *config.KubeSchedulerConfiguration, s conversion.Scope) error {
|
||||||
if err := autoConvert_v1beta1_KubeSchedulerConfiguration_To_config_KubeSchedulerConfiguration(in, out, s); err != nil {
|
if err := autoConvert_v1beta1_KubeSchedulerConfiguration_To_config_KubeSchedulerConfiguration(in, out, s); err != nil {
|
||||||
return err
|
return err
|
||||||
|
@@ -150,26 +150,11 @@ func RegisterConversions(s *runtime.Scheme) error {
|
|||||||
}); err != nil {
|
}); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if err := s.AddGeneratedConversionFunc((*v1beta1.PluginSet)(nil), (*config.PluginSet)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
|
||||||
return Convert_v1beta1_PluginSet_To_config_PluginSet(a.(*v1beta1.PluginSet), b.(*config.PluginSet), scope)
|
|
||||||
}); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := s.AddGeneratedConversionFunc((*config.PluginSet)(nil), (*v1beta1.PluginSet)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
if err := s.AddGeneratedConversionFunc((*config.PluginSet)(nil), (*v1beta1.PluginSet)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
return Convert_config_PluginSet_To_v1beta1_PluginSet(a.(*config.PluginSet), b.(*v1beta1.PluginSet), scope)
|
return Convert_config_PluginSet_To_v1beta1_PluginSet(a.(*config.PluginSet), b.(*v1beta1.PluginSet), scope)
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if err := s.AddGeneratedConversionFunc((*v1beta1.Plugins)(nil), (*config.Plugins)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
|
||||||
return Convert_v1beta1_Plugins_To_config_Plugins(a.(*v1beta1.Plugins), b.(*config.Plugins), scope)
|
|
||||||
}); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := s.AddGeneratedConversionFunc((*config.Plugins)(nil), (*v1beta1.Plugins)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
|
||||||
return Convert_config_Plugins_To_v1beta1_Plugins(a.(*config.Plugins), b.(*v1beta1.Plugins), scope)
|
|
||||||
}); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := s.AddGeneratedConversionFunc((*v1beta1.PodTopologySpreadArgs)(nil), (*config.PodTopologySpreadArgs)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
if err := s.AddGeneratedConversionFunc((*v1beta1.PodTopologySpreadArgs)(nil), (*config.PodTopologySpreadArgs)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
return Convert_v1beta1_PodTopologySpreadArgs_To_config_PodTopologySpreadArgs(a.(*v1beta1.PodTopologySpreadArgs), b.(*config.PodTopologySpreadArgs), scope)
|
return Convert_v1beta1_PodTopologySpreadArgs_To_config_PodTopologySpreadArgs(a.(*v1beta1.PodTopologySpreadArgs), b.(*config.PodTopologySpreadArgs), scope)
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
@@ -235,11 +220,26 @@ func RegisterConversions(s *runtime.Scheme) error {
|
|||||||
}); err != nil {
|
}); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
if err := s.AddConversionFunc((*config.Plugins)(nil), (*v1beta1.Plugins)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
|
return Convert_config_Plugins_To_v1beta1_Plugins(a.(*config.Plugins), b.(*v1beta1.Plugins), scope)
|
||||||
|
}); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
if err := s.AddConversionFunc((*v1beta1.KubeSchedulerConfiguration)(nil), (*config.KubeSchedulerConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
if err := s.AddConversionFunc((*v1beta1.KubeSchedulerConfiguration)(nil), (*config.KubeSchedulerConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
return Convert_v1beta1_KubeSchedulerConfiguration_To_config_KubeSchedulerConfiguration(a.(*v1beta1.KubeSchedulerConfiguration), b.(*config.KubeSchedulerConfiguration), scope)
|
return Convert_v1beta1_KubeSchedulerConfiguration_To_config_KubeSchedulerConfiguration(a.(*v1beta1.KubeSchedulerConfiguration), b.(*config.KubeSchedulerConfiguration), scope)
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
if err := s.AddConversionFunc((*v1beta1.PluginSet)(nil), (*config.PluginSet)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
|
return Convert_v1beta1_PluginSet_To_config_PluginSet(a.(*v1beta1.PluginSet), b.(*config.PluginSet), scope)
|
||||||
|
}); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := s.AddConversionFunc((*v1beta1.Plugins)(nil), (*config.Plugins)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
|
return Convert_v1beta1_Plugins_To_config_Plugins(a.(*v1beta1.Plugins), b.(*config.Plugins), scope)
|
||||||
|
}); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -676,11 +676,6 @@ func autoConvert_v1beta1_PluginSet_To_config_PluginSet(in *v1beta1.PluginSet, ou
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert_v1beta1_PluginSet_To_config_PluginSet is an autogenerated conversion function.
|
|
||||||
func Convert_v1beta1_PluginSet_To_config_PluginSet(in *v1beta1.PluginSet, out *config.PluginSet, s conversion.Scope) error {
|
|
||||||
return autoConvert_v1beta1_PluginSet_To_config_PluginSet(in, out, s)
|
|
||||||
}
|
|
||||||
|
|
||||||
func autoConvert_config_PluginSet_To_v1beta1_PluginSet(in *config.PluginSet, out *v1beta1.PluginSet, s conversion.Scope) error {
|
func autoConvert_config_PluginSet_To_v1beta1_PluginSet(in *config.PluginSet, out *v1beta1.PluginSet, s conversion.Scope) error {
|
||||||
if in.Enabled != nil {
|
if in.Enabled != nil {
|
||||||
in, out := &in.Enabled, &out.Enabled
|
in, out := &in.Enabled, &out.Enabled
|
||||||
@@ -713,221 +708,35 @@ func Convert_config_PluginSet_To_v1beta1_PluginSet(in *config.PluginSet, out *v1
|
|||||||
}
|
}
|
||||||
|
|
||||||
func autoConvert_v1beta1_Plugins_To_config_Plugins(in *v1beta1.Plugins, out *config.Plugins, s conversion.Scope) error {
|
func autoConvert_v1beta1_Plugins_To_config_Plugins(in *v1beta1.Plugins, out *config.Plugins, s conversion.Scope) error {
|
||||||
if in.QueueSort != nil {
|
// WARNING: in.QueueSort requires manual conversion: inconvertible types (*k8s.io/kube-scheduler/config/v1beta1.PluginSet vs k8s.io/kubernetes/pkg/scheduler/apis/config.PluginSet)
|
||||||
in, out := &in.QueueSort, &out.QueueSort
|
// WARNING: in.PreFilter requires manual conversion: inconvertible types (*k8s.io/kube-scheduler/config/v1beta1.PluginSet vs k8s.io/kubernetes/pkg/scheduler/apis/config.PluginSet)
|
||||||
*out = new(config.PluginSet)
|
// WARNING: in.Filter requires manual conversion: inconvertible types (*k8s.io/kube-scheduler/config/v1beta1.PluginSet vs k8s.io/kubernetes/pkg/scheduler/apis/config.PluginSet)
|
||||||
if err := Convert_v1beta1_PluginSet_To_config_PluginSet(*in, *out, s); err != nil {
|
// WARNING: in.PostFilter requires manual conversion: inconvertible types (*k8s.io/kube-scheduler/config/v1beta1.PluginSet vs k8s.io/kubernetes/pkg/scheduler/apis/config.PluginSet)
|
||||||
return err
|
// WARNING: in.PreScore requires manual conversion: inconvertible types (*k8s.io/kube-scheduler/config/v1beta1.PluginSet vs k8s.io/kubernetes/pkg/scheduler/apis/config.PluginSet)
|
||||||
}
|
// WARNING: in.Score requires manual conversion: inconvertible types (*k8s.io/kube-scheduler/config/v1beta1.PluginSet vs k8s.io/kubernetes/pkg/scheduler/apis/config.PluginSet)
|
||||||
} else {
|
// WARNING: in.Reserve requires manual conversion: inconvertible types (*k8s.io/kube-scheduler/config/v1beta1.PluginSet vs k8s.io/kubernetes/pkg/scheduler/apis/config.PluginSet)
|
||||||
out.QueueSort = nil
|
// WARNING: in.Permit requires manual conversion: inconvertible types (*k8s.io/kube-scheduler/config/v1beta1.PluginSet vs k8s.io/kubernetes/pkg/scheduler/apis/config.PluginSet)
|
||||||
}
|
// WARNING: in.PreBind requires manual conversion: inconvertible types (*k8s.io/kube-scheduler/config/v1beta1.PluginSet vs k8s.io/kubernetes/pkg/scheduler/apis/config.PluginSet)
|
||||||
if in.PreFilter != nil {
|
// WARNING: in.Bind requires manual conversion: inconvertible types (*k8s.io/kube-scheduler/config/v1beta1.PluginSet vs k8s.io/kubernetes/pkg/scheduler/apis/config.PluginSet)
|
||||||
in, out := &in.PreFilter, &out.PreFilter
|
// WARNING: in.PostBind requires manual conversion: inconvertible types (*k8s.io/kube-scheduler/config/v1beta1.PluginSet vs k8s.io/kubernetes/pkg/scheduler/apis/config.PluginSet)
|
||||||
*out = new(config.PluginSet)
|
|
||||||
if err := Convert_v1beta1_PluginSet_To_config_PluginSet(*in, *out, s); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
out.PreFilter = nil
|
|
||||||
}
|
|
||||||
if in.Filter != nil {
|
|
||||||
in, out := &in.Filter, &out.Filter
|
|
||||||
*out = new(config.PluginSet)
|
|
||||||
if err := Convert_v1beta1_PluginSet_To_config_PluginSet(*in, *out, s); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
out.Filter = nil
|
|
||||||
}
|
|
||||||
if in.PostFilter != nil {
|
|
||||||
in, out := &in.PostFilter, &out.PostFilter
|
|
||||||
*out = new(config.PluginSet)
|
|
||||||
if err := Convert_v1beta1_PluginSet_To_config_PluginSet(*in, *out, s); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
out.PostFilter = nil
|
|
||||||
}
|
|
||||||
if in.PreScore != nil {
|
|
||||||
in, out := &in.PreScore, &out.PreScore
|
|
||||||
*out = new(config.PluginSet)
|
|
||||||
if err := Convert_v1beta1_PluginSet_To_config_PluginSet(*in, *out, s); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
out.PreScore = nil
|
|
||||||
}
|
|
||||||
if in.Score != nil {
|
|
||||||
in, out := &in.Score, &out.Score
|
|
||||||
*out = new(config.PluginSet)
|
|
||||||
if err := Convert_v1beta1_PluginSet_To_config_PluginSet(*in, *out, s); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
out.Score = nil
|
|
||||||
}
|
|
||||||
if in.Reserve != nil {
|
|
||||||
in, out := &in.Reserve, &out.Reserve
|
|
||||||
*out = new(config.PluginSet)
|
|
||||||
if err := Convert_v1beta1_PluginSet_To_config_PluginSet(*in, *out, s); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
out.Reserve = nil
|
|
||||||
}
|
|
||||||
if in.Permit != nil {
|
|
||||||
in, out := &in.Permit, &out.Permit
|
|
||||||
*out = new(config.PluginSet)
|
|
||||||
if err := Convert_v1beta1_PluginSet_To_config_PluginSet(*in, *out, s); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
out.Permit = nil
|
|
||||||
}
|
|
||||||
if in.PreBind != nil {
|
|
||||||
in, out := &in.PreBind, &out.PreBind
|
|
||||||
*out = new(config.PluginSet)
|
|
||||||
if err := Convert_v1beta1_PluginSet_To_config_PluginSet(*in, *out, s); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
out.PreBind = nil
|
|
||||||
}
|
|
||||||
if in.Bind != nil {
|
|
||||||
in, out := &in.Bind, &out.Bind
|
|
||||||
*out = new(config.PluginSet)
|
|
||||||
if err := Convert_v1beta1_PluginSet_To_config_PluginSet(*in, *out, s); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
out.Bind = nil
|
|
||||||
}
|
|
||||||
if in.PostBind != nil {
|
|
||||||
in, out := &in.PostBind, &out.PostBind
|
|
||||||
*out = new(config.PluginSet)
|
|
||||||
if err := Convert_v1beta1_PluginSet_To_config_PluginSet(*in, *out, s); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
out.PostBind = nil
|
|
||||||
}
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert_v1beta1_Plugins_To_config_Plugins is an autogenerated conversion function.
|
|
||||||
func Convert_v1beta1_Plugins_To_config_Plugins(in *v1beta1.Plugins, out *config.Plugins, s conversion.Scope) error {
|
|
||||||
return autoConvert_v1beta1_Plugins_To_config_Plugins(in, out, s)
|
|
||||||
}
|
|
||||||
|
|
||||||
func autoConvert_config_Plugins_To_v1beta1_Plugins(in *config.Plugins, out *v1beta1.Plugins, s conversion.Scope) error {
|
func autoConvert_config_Plugins_To_v1beta1_Plugins(in *config.Plugins, out *v1beta1.Plugins, s conversion.Scope) error {
|
||||||
if in.QueueSort != nil {
|
// WARNING: in.QueueSort requires manual conversion: inconvertible types (k8s.io/kubernetes/pkg/scheduler/apis/config.PluginSet vs *k8s.io/kube-scheduler/config/v1beta1.PluginSet)
|
||||||
in, out := &in.QueueSort, &out.QueueSort
|
// WARNING: in.PreFilter requires manual conversion: inconvertible types (k8s.io/kubernetes/pkg/scheduler/apis/config.PluginSet vs *k8s.io/kube-scheduler/config/v1beta1.PluginSet)
|
||||||
*out = new(v1beta1.PluginSet)
|
// WARNING: in.Filter requires manual conversion: inconvertible types (k8s.io/kubernetes/pkg/scheduler/apis/config.PluginSet vs *k8s.io/kube-scheduler/config/v1beta1.PluginSet)
|
||||||
if err := Convert_config_PluginSet_To_v1beta1_PluginSet(*in, *out, s); err != nil {
|
// WARNING: in.PostFilter requires manual conversion: inconvertible types (k8s.io/kubernetes/pkg/scheduler/apis/config.PluginSet vs *k8s.io/kube-scheduler/config/v1beta1.PluginSet)
|
||||||
return err
|
// WARNING: in.PreScore requires manual conversion: inconvertible types (k8s.io/kubernetes/pkg/scheduler/apis/config.PluginSet vs *k8s.io/kube-scheduler/config/v1beta1.PluginSet)
|
||||||
}
|
// WARNING: in.Score requires manual conversion: inconvertible types (k8s.io/kubernetes/pkg/scheduler/apis/config.PluginSet vs *k8s.io/kube-scheduler/config/v1beta1.PluginSet)
|
||||||
} else {
|
// WARNING: in.Reserve requires manual conversion: inconvertible types (k8s.io/kubernetes/pkg/scheduler/apis/config.PluginSet vs *k8s.io/kube-scheduler/config/v1beta1.PluginSet)
|
||||||
out.QueueSort = nil
|
// WARNING: in.Permit requires manual conversion: inconvertible types (k8s.io/kubernetes/pkg/scheduler/apis/config.PluginSet vs *k8s.io/kube-scheduler/config/v1beta1.PluginSet)
|
||||||
}
|
// WARNING: in.PreBind requires manual conversion: inconvertible types (k8s.io/kubernetes/pkg/scheduler/apis/config.PluginSet vs *k8s.io/kube-scheduler/config/v1beta1.PluginSet)
|
||||||
if in.PreFilter != nil {
|
// WARNING: in.Bind requires manual conversion: inconvertible types (k8s.io/kubernetes/pkg/scheduler/apis/config.PluginSet vs *k8s.io/kube-scheduler/config/v1beta1.PluginSet)
|
||||||
in, out := &in.PreFilter, &out.PreFilter
|
// WARNING: in.PostBind requires manual conversion: inconvertible types (k8s.io/kubernetes/pkg/scheduler/apis/config.PluginSet vs *k8s.io/kube-scheduler/config/v1beta1.PluginSet)
|
||||||
*out = new(v1beta1.PluginSet)
|
|
||||||
if err := Convert_config_PluginSet_To_v1beta1_PluginSet(*in, *out, s); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
out.PreFilter = nil
|
|
||||||
}
|
|
||||||
if in.Filter != nil {
|
|
||||||
in, out := &in.Filter, &out.Filter
|
|
||||||
*out = new(v1beta1.PluginSet)
|
|
||||||
if err := Convert_config_PluginSet_To_v1beta1_PluginSet(*in, *out, s); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
out.Filter = nil
|
|
||||||
}
|
|
||||||
if in.PostFilter != nil {
|
|
||||||
in, out := &in.PostFilter, &out.PostFilter
|
|
||||||
*out = new(v1beta1.PluginSet)
|
|
||||||
if err := Convert_config_PluginSet_To_v1beta1_PluginSet(*in, *out, s); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
out.PostFilter = nil
|
|
||||||
}
|
|
||||||
if in.PreScore != nil {
|
|
||||||
in, out := &in.PreScore, &out.PreScore
|
|
||||||
*out = new(v1beta1.PluginSet)
|
|
||||||
if err := Convert_config_PluginSet_To_v1beta1_PluginSet(*in, *out, s); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
out.PreScore = nil
|
|
||||||
}
|
|
||||||
if in.Score != nil {
|
|
||||||
in, out := &in.Score, &out.Score
|
|
||||||
*out = new(v1beta1.PluginSet)
|
|
||||||
if err := Convert_config_PluginSet_To_v1beta1_PluginSet(*in, *out, s); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
out.Score = nil
|
|
||||||
}
|
|
||||||
if in.Reserve != nil {
|
|
||||||
in, out := &in.Reserve, &out.Reserve
|
|
||||||
*out = new(v1beta1.PluginSet)
|
|
||||||
if err := Convert_config_PluginSet_To_v1beta1_PluginSet(*in, *out, s); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
out.Reserve = nil
|
|
||||||
}
|
|
||||||
if in.Permit != nil {
|
|
||||||
in, out := &in.Permit, &out.Permit
|
|
||||||
*out = new(v1beta1.PluginSet)
|
|
||||||
if err := Convert_config_PluginSet_To_v1beta1_PluginSet(*in, *out, s); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
out.Permit = nil
|
|
||||||
}
|
|
||||||
if in.PreBind != nil {
|
|
||||||
in, out := &in.PreBind, &out.PreBind
|
|
||||||
*out = new(v1beta1.PluginSet)
|
|
||||||
if err := Convert_config_PluginSet_To_v1beta1_PluginSet(*in, *out, s); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
out.PreBind = nil
|
|
||||||
}
|
|
||||||
if in.Bind != nil {
|
|
||||||
in, out := &in.Bind, &out.Bind
|
|
||||||
*out = new(v1beta1.PluginSet)
|
|
||||||
if err := Convert_config_PluginSet_To_v1beta1_PluginSet(*in, *out, s); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
out.Bind = nil
|
|
||||||
}
|
|
||||||
if in.PostBind != nil {
|
|
||||||
in, out := &in.PostBind, &out.PostBind
|
|
||||||
*out = new(v1beta1.PluginSet)
|
|
||||||
if err := Convert_config_PluginSet_To_v1beta1_PluginSet(*in, *out, s); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
out.PostBind = nil
|
|
||||||
}
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert_config_Plugins_To_v1beta1_Plugins is an autogenerated conversion function.
|
|
||||||
func Convert_config_Plugins_To_v1beta1_Plugins(in *config.Plugins, out *v1beta1.Plugins, s conversion.Scope) error {
|
|
||||||
return autoConvert_config_Plugins_To_v1beta1_Plugins(in, out, s)
|
|
||||||
}
|
|
||||||
|
|
||||||
func autoConvert_v1beta1_PodTopologySpreadArgs_To_config_PodTopologySpreadArgs(in *v1beta1.PodTopologySpreadArgs, out *config.PodTopologySpreadArgs, s conversion.Scope) error {
|
func autoConvert_v1beta1_PodTopologySpreadArgs_To_config_PodTopologySpreadArgs(in *v1beta1.PodTopologySpreadArgs, out *config.PodTopologySpreadArgs, s conversion.Scope) error {
|
||||||
out.DefaultConstraints = *(*[]corev1.TopologySpreadConstraint)(unsafe.Pointer(&in.DefaultConstraints))
|
out.DefaultConstraints = *(*[]corev1.TopologySpreadConstraint)(unsafe.Pointer(&in.DefaultConstraints))
|
||||||
out.DefaultingType = config.PodTopologySpreadConstraintsDefaulting(in.DefaultingType)
|
out.DefaultingType = config.PodTopologySpreadConstraintsDefaulting(in.DefaultingType)
|
||||||
|
@@ -90,12 +90,12 @@ func validateKubeSchedulerProfile(path *field.Path, profile *config.KubeSchedule
|
|||||||
|
|
||||||
func validateCommonQueueSort(path *field.Path, profiles []config.KubeSchedulerProfile) field.ErrorList {
|
func validateCommonQueueSort(path *field.Path, profiles []config.KubeSchedulerProfile) field.ErrorList {
|
||||||
allErrs := field.ErrorList{}
|
allErrs := field.ErrorList{}
|
||||||
var canon *config.PluginSet
|
var canon config.PluginSet
|
||||||
if profiles[0].Plugins != nil {
|
if profiles[0].Plugins != nil {
|
||||||
canon = profiles[0].Plugins.QueueSort
|
canon = profiles[0].Plugins.QueueSort
|
||||||
}
|
}
|
||||||
for i := 1; i < len(profiles); i++ {
|
for i := 1; i < len(profiles); i++ {
|
||||||
var curr *config.PluginSet
|
var curr config.PluginSet
|
||||||
if profiles[i].Plugins != nil {
|
if profiles[i].Plugins != nil {
|
||||||
curr = profiles[i].Plugins.QueueSort
|
curr = profiles[i].Plugins.QueueSort
|
||||||
}
|
}
|
||||||
|
@@ -64,10 +64,10 @@ func TestValidateKubeSchedulerConfiguration(t *testing.T) {
|
|||||||
{
|
{
|
||||||
SchedulerName: "me",
|
SchedulerName: "me",
|
||||||
Plugins: &config.Plugins{
|
Plugins: &config.Plugins{
|
||||||
QueueSort: &config.PluginSet{
|
QueueSort: config.PluginSet{
|
||||||
Enabled: []config.Plugin{{Name: "CustomSort"}},
|
Enabled: []config.Plugin{{Name: "CustomSort"}},
|
||||||
},
|
},
|
||||||
Score: &config.PluginSet{
|
Score: config.PluginSet{
|
||||||
Disabled: []config.Plugin{{Name: "*"}},
|
Disabled: []config.Plugin{{Name: "*"}},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -75,10 +75,10 @@ func TestValidateKubeSchedulerConfiguration(t *testing.T) {
|
|||||||
{
|
{
|
||||||
SchedulerName: "other",
|
SchedulerName: "other",
|
||||||
Plugins: &config.Plugins{
|
Plugins: &config.Plugins{
|
||||||
QueueSort: &config.PluginSet{
|
QueueSort: config.PluginSet{
|
||||||
Enabled: []config.Plugin{{Name: "CustomSort"}},
|
Enabled: []config.Plugin{{Name: "CustomSort"}},
|
||||||
},
|
},
|
||||||
Bind: &config.PluginSet{
|
Bind: config.PluginSet{
|
||||||
Enabled: []config.Plugin{{Name: "CustomBind"}},
|
Enabled: []config.Plugin{{Name: "CustomBind"}},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
66
pkg/scheduler/apis/config/zz_generated.deepcopy.go
generated
66
pkg/scheduler/apis/config/zz_generated.deepcopy.go
generated
@@ -491,61 +491,17 @@ func (in *PluginSet) DeepCopy() *PluginSet {
|
|||||||
// 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 *Plugins) DeepCopyInto(out *Plugins) {
|
func (in *Plugins) DeepCopyInto(out *Plugins) {
|
||||||
*out = *in
|
*out = *in
|
||||||
if in.QueueSort != nil {
|
in.QueueSort.DeepCopyInto(&out.QueueSort)
|
||||||
in, out := &in.QueueSort, &out.QueueSort
|
in.PreFilter.DeepCopyInto(&out.PreFilter)
|
||||||
*out = new(PluginSet)
|
in.Filter.DeepCopyInto(&out.Filter)
|
||||||
(*in).DeepCopyInto(*out)
|
in.PostFilter.DeepCopyInto(&out.PostFilter)
|
||||||
}
|
in.PreScore.DeepCopyInto(&out.PreScore)
|
||||||
if in.PreFilter != nil {
|
in.Score.DeepCopyInto(&out.Score)
|
||||||
in, out := &in.PreFilter, &out.PreFilter
|
in.Reserve.DeepCopyInto(&out.Reserve)
|
||||||
*out = new(PluginSet)
|
in.Permit.DeepCopyInto(&out.Permit)
|
||||||
(*in).DeepCopyInto(*out)
|
in.PreBind.DeepCopyInto(&out.PreBind)
|
||||||
}
|
in.Bind.DeepCopyInto(&out.Bind)
|
||||||
if in.Filter != nil {
|
in.PostBind.DeepCopyInto(&out.PostBind)
|
||||||
in, out := &in.Filter, &out.Filter
|
|
||||||
*out = new(PluginSet)
|
|
||||||
(*in).DeepCopyInto(*out)
|
|
||||||
}
|
|
||||||
if in.PostFilter != nil {
|
|
||||||
in, out := &in.PostFilter, &out.PostFilter
|
|
||||||
*out = new(PluginSet)
|
|
||||||
(*in).DeepCopyInto(*out)
|
|
||||||
}
|
|
||||||
if in.PreScore != nil {
|
|
||||||
in, out := &in.PreScore, &out.PreScore
|
|
||||||
*out = new(PluginSet)
|
|
||||||
(*in).DeepCopyInto(*out)
|
|
||||||
}
|
|
||||||
if in.Score != nil {
|
|
||||||
in, out := &in.Score, &out.Score
|
|
||||||
*out = new(PluginSet)
|
|
||||||
(*in).DeepCopyInto(*out)
|
|
||||||
}
|
|
||||||
if in.Reserve != nil {
|
|
||||||
in, out := &in.Reserve, &out.Reserve
|
|
||||||
*out = new(PluginSet)
|
|
||||||
(*in).DeepCopyInto(*out)
|
|
||||||
}
|
|
||||||
if in.Permit != nil {
|
|
||||||
in, out := &in.Permit, &out.Permit
|
|
||||||
*out = new(PluginSet)
|
|
||||||
(*in).DeepCopyInto(*out)
|
|
||||||
}
|
|
||||||
if in.PreBind != nil {
|
|
||||||
in, out := &in.PreBind, &out.PreBind
|
|
||||||
*out = new(PluginSet)
|
|
||||||
(*in).DeepCopyInto(*out)
|
|
||||||
}
|
|
||||||
if in.Bind != nil {
|
|
||||||
in, out := &in.Bind, &out.Bind
|
|
||||||
*out = new(PluginSet)
|
|
||||||
(*in).DeepCopyInto(*out)
|
|
||||||
}
|
|
||||||
if in.PostBind != nil {
|
|
||||||
in, out := &in.PostBind, &out.PostBind
|
|
||||||
*out = new(PluginSet)
|
|
||||||
(*in).DeepCopyInto(*out)
|
|
||||||
}
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -23,7 +23,6 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/google/go-cmp/cmp"
|
"github.com/google/go-cmp/cmp"
|
||||||
|
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
@@ -263,13 +262,13 @@ func (c *Configurator) createFromConfig(policy schedulerapi.Policy) (*Scheduler,
|
|||||||
// "PrioritySort", "DefaultPreemption" and "DefaultBinder" were neither predicates nor priorities
|
// "PrioritySort", "DefaultPreemption" and "DefaultBinder" were neither predicates nor priorities
|
||||||
// before. We add them by default.
|
// before. We add them by default.
|
||||||
plugins := schedulerapi.Plugins{
|
plugins := schedulerapi.Plugins{
|
||||||
QueueSort: &schedulerapi.PluginSet{
|
QueueSort: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{{Name: queuesort.Name}},
|
Enabled: []schedulerapi.Plugin{{Name: queuesort.Name}},
|
||||||
},
|
},
|
||||||
PostFilter: &schedulerapi.PluginSet{
|
PostFilter: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{{Name: defaultpreemption.Name}},
|
Enabled: []schedulerapi.Plugin{{Name: defaultpreemption.Name}},
|
||||||
},
|
},
|
||||||
Bind: &schedulerapi.PluginSet{
|
Bind: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{{Name: defaultbinder.Name}},
|
Enabled: []schedulerapi.Plugin{{Name: defaultbinder.Name}},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@@ -151,8 +151,8 @@ func TestCreateFromConfig(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
wantPlugins: &schedulerapi.Plugins{
|
wantPlugins: &schedulerapi.Plugins{
|
||||||
QueueSort: &schedulerapi.PluginSet{Enabled: []schedulerapi.Plugin{{Name: "PrioritySort"}}},
|
QueueSort: schedulerapi.PluginSet{Enabled: []schedulerapi.Plugin{{Name: "PrioritySort"}}},
|
||||||
PreFilter: &schedulerapi.PluginSet{
|
PreFilter: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: "NodeResourcesFit"},
|
{Name: "NodeResourcesFit"},
|
||||||
{Name: "NodePorts"},
|
{Name: "NodePorts"},
|
||||||
@@ -161,7 +161,7 @@ func TestCreateFromConfig(t *testing.T) {
|
|||||||
{Name: "InterPodAffinity"},
|
{Name: "InterPodAffinity"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Filter: &schedulerapi.PluginSet{
|
Filter: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: "NodeUnschedulable"},
|
{Name: "NodeUnschedulable"},
|
||||||
{Name: "NodeResourcesFit"},
|
{Name: "NodeResourcesFit"},
|
||||||
@@ -180,8 +180,8 @@ func TestCreateFromConfig(t *testing.T) {
|
|||||||
{Name: "InterPodAffinity"},
|
{Name: "InterPodAffinity"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PostFilter: &schedulerapi.PluginSet{Enabled: []schedulerapi.Plugin{{Name: "DefaultPreemption"}}},
|
PostFilter: schedulerapi.PluginSet{Enabled: []schedulerapi.Plugin{{Name: "DefaultPreemption"}}},
|
||||||
PreScore: &schedulerapi.PluginSet{
|
PreScore: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: "PodTopologySpread"},
|
{Name: "PodTopologySpread"},
|
||||||
{Name: "InterPodAffinity"},
|
{Name: "InterPodAffinity"},
|
||||||
@@ -189,7 +189,7 @@ func TestCreateFromConfig(t *testing.T) {
|
|||||||
{Name: "TaintToleration"},
|
{Name: "TaintToleration"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Score: &schedulerapi.PluginSet{
|
Score: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: "NodeResourcesBalancedAllocation", Weight: 1},
|
{Name: "NodeResourcesBalancedAllocation", Weight: 1},
|
||||||
{Name: "PodTopologySpread", Weight: 2},
|
{Name: "PodTopologySpread", Weight: 2},
|
||||||
@@ -201,11 +201,9 @@ func TestCreateFromConfig(t *testing.T) {
|
|||||||
{Name: "TaintToleration", Weight: 1},
|
{Name: "TaintToleration", Weight: 1},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Reserve: &schedulerapi.PluginSet{Enabled: []schedulerapi.Plugin{{Name: "VolumeBinding"}}},
|
Reserve: schedulerapi.PluginSet{Enabled: []schedulerapi.Plugin{{Name: "VolumeBinding"}}},
|
||||||
Permit: &schedulerapi.PluginSet{},
|
PreBind: schedulerapi.PluginSet{Enabled: []schedulerapi.Plugin{{Name: "VolumeBinding"}}},
|
||||||
PreBind: &schedulerapi.PluginSet{Enabled: []schedulerapi.Plugin{{Name: "VolumeBinding"}}},
|
Bind: schedulerapi.PluginSet{Enabled: []schedulerapi.Plugin{{Name: "DefaultBinder"}}},
|
||||||
Bind: &schedulerapi.PluginSet{Enabled: []schedulerapi.Plugin{{Name: "DefaultBinder"}}},
|
|
||||||
PostBind: &schedulerapi.PluginSet{},
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -286,9 +284,9 @@ func TestCreateFromConfig(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
wantPlugins: &schedulerapi.Plugins{
|
wantPlugins: &schedulerapi.Plugins{
|
||||||
QueueSort: &schedulerapi.PluginSet{Enabled: []schedulerapi.Plugin{{Name: "PrioritySort"}}},
|
QueueSort: schedulerapi.PluginSet{Enabled: []schedulerapi.Plugin{{Name: "PrioritySort"}}},
|
||||||
PreFilter: &schedulerapi.PluginSet{Enabled: []schedulerapi.Plugin{{Name: "ServiceAffinity"}}},
|
PreFilter: schedulerapi.PluginSet{Enabled: []schedulerapi.Plugin{{Name: "ServiceAffinity"}}},
|
||||||
Filter: &schedulerapi.PluginSet{
|
Filter: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: "NodeUnschedulable"},
|
{Name: "NodeUnschedulable"},
|
||||||
{Name: "TaintToleration"},
|
{Name: "TaintToleration"},
|
||||||
@@ -296,14 +294,14 @@ func TestCreateFromConfig(t *testing.T) {
|
|||||||
{Name: "ServiceAffinity"},
|
{Name: "ServiceAffinity"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PostFilter: &schedulerapi.PluginSet{Enabled: []schedulerapi.Plugin{{Name: "DefaultPreemption"}}},
|
PostFilter: schedulerapi.PluginSet{Enabled: []schedulerapi.Plugin{{Name: "DefaultPreemption"}}},
|
||||||
PreScore: &schedulerapi.PluginSet{
|
PreScore: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: "InterPodAffinity"},
|
{Name: "InterPodAffinity"},
|
||||||
{Name: "NodeAffinity"},
|
{Name: "NodeAffinity"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Score: &schedulerapi.PluginSet{
|
Score: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: "InterPodAffinity", Weight: 1},
|
{Name: "InterPodAffinity", Weight: 1},
|
||||||
{Name: "NodeAffinity", Weight: 2},
|
{Name: "NodeAffinity", Weight: 2},
|
||||||
@@ -312,11 +310,7 @@ func TestCreateFromConfig(t *testing.T) {
|
|||||||
{Name: "ServiceAffinity", Weight: 6},
|
{Name: "ServiceAffinity", Weight: 6},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Reserve: &schedulerapi.PluginSet{},
|
Bind: schedulerapi.PluginSet{Enabled: []schedulerapi.Plugin{{Name: "DefaultBinder"}}},
|
||||||
Permit: &schedulerapi.PluginSet{},
|
|
||||||
PreBind: &schedulerapi.PluginSet{},
|
|
||||||
Bind: &schedulerapi.PluginSet{Enabled: []schedulerapi.Plugin{{Name: "DefaultBinder"}}},
|
|
||||||
PostBind: &schedulerapi.PluginSet{},
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -353,12 +347,12 @@ func TestCreateFromConfig(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
wantPlugins: &schedulerapi.Plugins{
|
wantPlugins: &schedulerapi.Plugins{
|
||||||
QueueSort: &schedulerapi.PluginSet{Enabled: []schedulerapi.Plugin{{Name: "PrioritySort"}}},
|
QueueSort: schedulerapi.PluginSet{Enabled: []schedulerapi.Plugin{{Name: "PrioritySort"}}},
|
||||||
PreFilter: &schedulerapi.PluginSet{Enabled: []schedulerapi.Plugin{
|
PreFilter: schedulerapi.PluginSet{Enabled: []schedulerapi.Plugin{
|
||||||
{Name: "NodePorts"},
|
{Name: "NodePorts"},
|
||||||
{Name: "NodeResourcesFit"},
|
{Name: "NodeResourcesFit"},
|
||||||
}},
|
}},
|
||||||
Filter: &schedulerapi.PluginSet{
|
Filter: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: "NodeUnschedulable"},
|
{Name: "NodeUnschedulable"},
|
||||||
{Name: "NodePorts"},
|
{Name: "NodePorts"},
|
||||||
@@ -366,22 +360,18 @@ func TestCreateFromConfig(t *testing.T) {
|
|||||||
{Name: "TaintToleration"},
|
{Name: "TaintToleration"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PostFilter: &schedulerapi.PluginSet{Enabled: []schedulerapi.Plugin{{Name: "DefaultPreemption"}}},
|
PostFilter: schedulerapi.PluginSet{Enabled: []schedulerapi.Plugin{{Name: "DefaultPreemption"}}},
|
||||||
PreScore: &schedulerapi.PluginSet{
|
PreScore: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: "InterPodAffinity"},
|
{Name: "InterPodAffinity"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Score: &schedulerapi.PluginSet{
|
Score: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{
|
Enabled: []schedulerapi.Plugin{
|
||||||
{Name: "InterPodAffinity", Weight: 1},
|
{Name: "InterPodAffinity", Weight: 1},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Reserve: &schedulerapi.PluginSet{},
|
Bind: schedulerapi.PluginSet{Enabled: []schedulerapi.Plugin{{Name: "DefaultBinder"}}},
|
||||||
Permit: &schedulerapi.PluginSet{},
|
|
||||||
PreBind: &schedulerapi.PluginSet{},
|
|
||||||
Bind: &schedulerapi.PluginSet{Enabled: []schedulerapi.Plugin{{Name: "DefaultBinder"}}},
|
|
||||||
PostBind: &schedulerapi.PluginSet{},
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@@ -524,10 +524,7 @@ func (lr *LegacyRegistry) registerPriorityConfigProducer(name string, producer c
|
|||||||
lr.priorityToConfigProducer[name] = producer
|
lr.priorityToConfigProducer[name] = producer
|
||||||
}
|
}
|
||||||
|
|
||||||
func appendToPluginSet(set *config.PluginSet, name string, weight *int32) *config.PluginSet {
|
func appendToPluginSet(set config.PluginSet, name string, weight *int32) config.PluginSet {
|
||||||
if set == nil {
|
|
||||||
set = &config.PluginSet{}
|
|
||||||
}
|
|
||||||
for _, e := range set.Enabled {
|
for _, e := range set.Enabled {
|
||||||
if e.Name == name {
|
if e.Name == name {
|
||||||
// Keep the max weight.
|
// Keep the max weight.
|
||||||
|
@@ -84,7 +84,7 @@ func TestRegisterConfigProducers(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
wantPlugins := config.Plugins{
|
wantPlugins := config.Plugins{
|
||||||
Filter: &config.PluginSet{
|
Filter: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: nodeunschedulable.Name},
|
{Name: nodeunschedulable.Name},
|
||||||
{Name: tainttoleration.Name},
|
{Name: tainttoleration.Name},
|
||||||
@@ -92,7 +92,7 @@ func TestRegisterConfigProducers(t *testing.T) {
|
|||||||
{Name: testFilterName2},
|
{Name: testFilterName2},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Score: &config.PluginSet{
|
Score: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: testScoreName1, Weight: 1},
|
{Name: testScoreName1, Weight: 1},
|
||||||
{Name: testScoreName2, Weight: 1},
|
{Name: testScoreName2, Weight: 1},
|
||||||
@@ -117,7 +117,7 @@ func TestAppendPriorityConfigs(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "default priorities",
|
name: "default priorities",
|
||||||
wantPlugins: config.Plugins{
|
wantPlugins: config.Plugins{
|
||||||
PreScore: &config.PluginSet{
|
PreScore: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: podtopologyspread.Name},
|
{Name: podtopologyspread.Name},
|
||||||
{Name: interpodaffinity.Name},
|
{Name: interpodaffinity.Name},
|
||||||
@@ -125,7 +125,7 @@ func TestAppendPriorityConfigs(t *testing.T) {
|
|||||||
{Name: tainttoleration.Name},
|
{Name: tainttoleration.Name},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Score: &config.PluginSet{
|
Score: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: noderesources.BalancedAllocationName, Weight: 1},
|
{Name: noderesources.BalancedAllocationName, Weight: 1},
|
||||||
{Name: podtopologyspread.Name, Weight: 2},
|
{Name: podtopologyspread.Name, Weight: 2},
|
||||||
@@ -153,12 +153,12 @@ func TestAppendPriorityConfigs(t *testing.T) {
|
|||||||
SelectorSpreadPriority: 3,
|
SelectorSpreadPriority: 3,
|
||||||
},
|
},
|
||||||
wantPlugins: config.Plugins{
|
wantPlugins: config.Plugins{
|
||||||
PreScore: &config.PluginSet{
|
PreScore: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: podtopologyspread.Name},
|
{Name: podtopologyspread.Name},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Score: &config.PluginSet{
|
Score: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: podtopologyspread.Name, Weight: 3},
|
{Name: podtopologyspread.Name, Weight: 3},
|
||||||
},
|
},
|
||||||
@@ -179,12 +179,12 @@ func TestAppendPriorityConfigs(t *testing.T) {
|
|||||||
EvenPodsSpreadPriority: 4,
|
EvenPodsSpreadPriority: 4,
|
||||||
},
|
},
|
||||||
wantPlugins: config.Plugins{
|
wantPlugins: config.Plugins{
|
||||||
PreScore: &config.PluginSet{
|
PreScore: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: podtopologyspread.Name},
|
{Name: podtopologyspread.Name},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Score: &config.PluginSet{
|
Score: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: podtopologyspread.Name, Weight: 4},
|
{Name: podtopologyspread.Name, Weight: 4},
|
||||||
},
|
},
|
||||||
@@ -209,13 +209,13 @@ func TestAppendPriorityConfigs(t *testing.T) {
|
|||||||
EvenPodsSpreadPriority: 2,
|
EvenPodsSpreadPriority: 2,
|
||||||
},
|
},
|
||||||
wantPlugins: config.Plugins{
|
wantPlugins: config.Plugins{
|
||||||
PreScore: &config.PluginSet{
|
PreScore: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: podtopologyspread.Name},
|
{Name: podtopologyspread.Name},
|
||||||
{Name: selectorspread.Name},
|
{Name: selectorspread.Name},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Score: &config.PluginSet{
|
Score: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: podtopologyspread.Name, Weight: 2},
|
{Name: podtopologyspread.Name, Weight: 2},
|
||||||
{Name: selectorspread.Name, Weight: 1},
|
{Name: selectorspread.Name, Weight: 1},
|
||||||
|
@@ -100,7 +100,7 @@ type frameworkImpl struct {
|
|||||||
// frameworkImpl.
|
// frameworkImpl.
|
||||||
type extensionPoint struct {
|
type extensionPoint struct {
|
||||||
// the set of plugins to be configured at this extension point.
|
// the set of plugins to be configured at this extension point.
|
||||||
plugins *config.PluginSet
|
plugins config.PluginSet
|
||||||
// a pointer to the slice storing plugins implementations that will run at this
|
// a pointer to the slice storing plugins implementations that will run at this
|
||||||
// extension point.
|
// extension point.
|
||||||
slicePtr interface{}
|
slicePtr interface{}
|
||||||
@@ -373,11 +373,7 @@ func getPluginArgsOrDefault(pluginConfig map[string]runtime.Object, name string)
|
|||||||
return obj, err
|
return obj, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func updatePluginList(pluginList interface{}, pluginSet *config.PluginSet, pluginsMap map[string]framework.Plugin) error {
|
func updatePluginList(pluginList interface{}, pluginSet config.PluginSet, pluginsMap map[string]framework.Plugin) error {
|
||||||
if pluginSet == nil {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
plugins := reflect.ValueOf(pluginList).Elem()
|
plugins := reflect.ValueOf(pluginList).Elem()
|
||||||
pluginType := plugins.Type().Elem()
|
pluginType := plugins.Type().Elem()
|
||||||
set := sets.NewString()
|
set := sets.NewString()
|
||||||
@@ -1135,10 +1131,7 @@ func (f *frameworkImpl) pluginsNeeded(plugins *config.Plugins) map[string]config
|
|||||||
return pgMap
|
return pgMap
|
||||||
}
|
}
|
||||||
|
|
||||||
find := func(pgs *config.PluginSet) {
|
find := func(pgs config.PluginSet) {
|
||||||
if pgs == nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
for _, pg := range pgs.Enabled {
|
for _, pg := range pgs.Enabled {
|
||||||
pgMap[pg.Name] = pg
|
pgMap[pg.Name] = pg
|
||||||
}
|
}
|
||||||
|
@@ -376,16 +376,16 @@ func newFrameworkWithQueueSortAndBind(r Registry, pl *config.Plugins, plc []conf
|
|||||||
}
|
}
|
||||||
plugins := &config.Plugins{}
|
plugins := &config.Plugins{}
|
||||||
plugins.Append(pl)
|
plugins.Append(pl)
|
||||||
if plugins.QueueSort == nil || len(plugins.QueueSort.Enabled) == 0 {
|
if len(plugins.QueueSort.Enabled) == 0 {
|
||||||
plugins.Append(&config.Plugins{
|
plugins.Append(&config.Plugins{
|
||||||
QueueSort: &config.PluginSet{
|
QueueSort: config.PluginSet{
|
||||||
Enabled: []config.Plugin{{Name: queueSortPlugin}},
|
Enabled: []config.Plugin{{Name: queueSortPlugin}},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
if plugins.Bind == nil || len(plugins.Bind.Enabled) == 0 {
|
if len(plugins.Bind.Enabled) == 0 {
|
||||||
plugins.Append(&config.Plugins{
|
plugins.Append(&config.Plugins{
|
||||||
Bind: &config.PluginSet{
|
Bind: config.PluginSet{
|
||||||
Enabled: []config.Plugin{{Name: bindPlugin}},
|
Enabled: []config.Plugin{{Name: bindPlugin}},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
@@ -412,7 +412,7 @@ func TestInitFrameworkWithScorePlugins(t *testing.T) {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Score plugins are nil",
|
name: "Score plugins are nil",
|
||||||
plugins: &config.Plugins{Score: nil},
|
plugins: &config.Plugins{},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "enabled Score plugin list is empty",
|
name: "enabled Score plugin list is empty",
|
||||||
@@ -451,7 +451,7 @@ func TestNewFrameworkErrors(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "duplicate plugin name",
|
name: "duplicate plugin name",
|
||||||
plugins: &config.Plugins{
|
plugins: &config.Plugins{
|
||||||
PreFilter: &config.PluginSet{
|
PreFilter: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: duplicatePluginName, Weight: 1},
|
{Name: duplicatePluginName, Weight: 1},
|
||||||
{Name: duplicatePluginName, Weight: 1},
|
{Name: duplicatePluginName, Weight: 1},
|
||||||
@@ -466,7 +466,7 @@ func TestNewFrameworkErrors(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "duplicate plugin config",
|
name: "duplicate plugin config",
|
||||||
plugins: &config.Plugins{
|
plugins: &config.Plugins{
|
||||||
PreFilter: &config.PluginSet{
|
PreFilter: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: duplicatePluginName, Weight: 1},
|
{Name: duplicatePluginName, Weight: 1},
|
||||||
},
|
},
|
||||||
@@ -511,9 +511,7 @@ func TestNewFrameworkPluginDefaults(t *testing.T) {
|
|||||||
"RequestedToCapacityRatio",
|
"RequestedToCapacityRatio",
|
||||||
"VolumeBinding",
|
"VolumeBinding",
|
||||||
}
|
}
|
||||||
plugins := config.Plugins{
|
plugins := config.Plugins{}
|
||||||
Filter: &config.PluginSet{},
|
|
||||||
}
|
|
||||||
// Use all plugins in Filter.
|
// Use all plugins in Filter.
|
||||||
// NOTE: This does not mean those plugins implemented `Filter` interfaces.
|
// NOTE: This does not mean those plugins implemented `Filter` interfaces.
|
||||||
// `TestPlugin` is created in this test to fake the behavior for test purpose.
|
// `TestPlugin` is created in this test to fake the behavior for test purpose.
|
||||||
@@ -521,7 +519,7 @@ func TestNewFrameworkPluginDefaults(t *testing.T) {
|
|||||||
plugins.Filter.Enabled = append(plugins.Filter.Enabled, config.Plugin{Name: name})
|
plugins.Filter.Enabled = append(plugins.Filter.Enabled, config.Plugin{Name: name})
|
||||||
}
|
}
|
||||||
// Set required extension points.
|
// Set required extension points.
|
||||||
onePlugin := &config.PluginSet{
|
onePlugin := config.PluginSet{
|
||||||
Enabled: []config.Plugin{{Name: pluginsWithArgs[0]}},
|
Enabled: []config.Plugin{{Name: pluginsWithArgs[0]}},
|
||||||
}
|
}
|
||||||
plugins.QueueSort = onePlugin
|
plugins.QueueSort = onePlugin
|
||||||
@@ -841,7 +839,7 @@ func TestPreFilterPlugins(t *testing.T) {
|
|||||||
func(_ runtime.Object, fh framework.Handle) (framework.Plugin, error) {
|
func(_ runtime.Object, fh framework.Handle) (framework.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}}}}
|
||||||
t.Run("TestPreFilterPlugin", func(t *testing.T) {
|
t.Run("TestPreFilterPlugin", func(t *testing.T) {
|
||||||
f, err := newFrameworkWithQueueSortAndBind(r, plugins, emptyArgs)
|
f, err := newFrameworkWithQueueSortAndBind(r, plugins, emptyArgs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -1068,7 +1066,7 @@ func TestFilterPlugins(t *testing.T) {
|
|||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
registry := Registry{}
|
registry := Registry{}
|
||||||
cfgPls := &config.Plugins{Filter: &config.PluginSet{}}
|
cfgPls := &config.Plugins{}
|
||||||
for _, pl := range tt.plugins {
|
for _, pl := range tt.plugins {
|
||||||
// register all plugins
|
// register all plugins
|
||||||
tmpPl := pl
|
tmpPl := pl
|
||||||
@@ -1149,7 +1147,7 @@ func TestPostFilterPlugins(t *testing.T) {
|
|||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
registry := Registry{}
|
registry := Registry{}
|
||||||
cfgPls := &config.Plugins{PostFilter: &config.PluginSet{}}
|
cfgPls := &config.Plugins{}
|
||||||
for _, pl := range tt.plugins {
|
for _, pl := range tt.plugins {
|
||||||
// register all plugins
|
// register all plugins
|
||||||
tmpPl := pl
|
tmpPl := pl
|
||||||
@@ -1279,10 +1277,7 @@ func TestFilterPluginsWithNominatedPods(t *testing.T) {
|
|||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
registry := Registry{}
|
registry := Registry{}
|
||||||
cfgPls := &config.Plugins{
|
cfgPls := &config.Plugins{}
|
||||||
PreFilter: &config.PluginSet{},
|
|
||||||
Filter: &config.PluginSet{},
|
|
||||||
}
|
|
||||||
|
|
||||||
if tt.preFilterPlugin != nil {
|
if tt.preFilterPlugin != nil {
|
||||||
if err := registry.Register(tt.preFilterPlugin.name,
|
if err := registry.Register(tt.preFilterPlugin.name,
|
||||||
@@ -1452,7 +1447,7 @@ func TestPreBindPlugins(t *testing.T) {
|
|||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
registry := Registry{}
|
registry := Registry{}
|
||||||
configPlugins := &config.Plugins{PreBind: &config.PluginSet{}}
|
configPlugins := &config.Plugins{}
|
||||||
|
|
||||||
for _, pl := range tt.plugins {
|
for _, pl := range tt.plugins {
|
||||||
tmpPl := pl
|
tmpPl := pl
|
||||||
@@ -1608,7 +1603,7 @@ func TestReservePlugins(t *testing.T) {
|
|||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
registry := Registry{}
|
registry := Registry{}
|
||||||
configPlugins := &config.Plugins{Reserve: &config.PluginSet{}}
|
configPlugins := &config.Plugins{}
|
||||||
|
|
||||||
for _, pl := range tt.plugins {
|
for _, pl := range tt.plugins {
|
||||||
tmpPl := pl
|
tmpPl := pl
|
||||||
@@ -1732,7 +1727,7 @@ func TestPermitPlugins(t *testing.T) {
|
|||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
registry := Registry{}
|
registry := Registry{}
|
||||||
configPlugins := &config.Plugins{Permit: &config.PluginSet{}}
|
configPlugins := &config.Plugins{}
|
||||||
|
|
||||||
for _, pl := range tt.plugins {
|
for _, pl := range tt.plugins {
|
||||||
tmpPl := pl
|
tmpPl := pl
|
||||||
@@ -1898,7 +1893,7 @@ func TestRecordingMetrics(t *testing.T) {
|
|||||||
func(_ runtime.Object, fh framework.Handle) (framework.Plugin, error) {
|
func(_ runtime.Object, fh framework.Handle) (framework.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}}}
|
||||||
plugins := &config.Plugins{
|
plugins := &config.Plugins{
|
||||||
Score: pluginSet,
|
Score: pluginSet,
|
||||||
PreFilter: pluginSet,
|
PreFilter: pluginSet,
|
||||||
@@ -2003,7 +1998,7 @@ func TestRunBindPlugins(t *testing.T) {
|
|||||||
metrics.FrameworkExtensionPointDuration.Reset()
|
metrics.FrameworkExtensionPointDuration.Reset()
|
||||||
metrics.PluginExecutionDuration.Reset()
|
metrics.PluginExecutionDuration.Reset()
|
||||||
|
|
||||||
pluginSet := &config.PluginSet{}
|
pluginSet := config.PluginSet{}
|
||||||
r := make(Registry)
|
r := make(Registry)
|
||||||
for i, inj := range tt.injects {
|
for i, inj := range tt.injects {
|
||||||
name := fmt.Sprintf("bind-%d", i)
|
name := fmt.Sprintf("bind-%d", i)
|
||||||
@@ -2067,7 +2062,7 @@ func TestPermitWaitDurationMetric(t *testing.T) {
|
|||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
plugins := &config.Plugins{
|
plugins := &config.Plugins{
|
||||||
Permit: &config.PluginSet{Enabled: []config.Plugin{{Name: testPlugin, Weight: 1}}},
|
Permit: config.PluginSet{Enabled: []config.Plugin{{Name: testPlugin, Weight: 1}}},
|
||||||
}
|
}
|
||||||
f, err := newFrameworkWithQueueSortAndBind(r, plugins, emptyArgs)
|
f, err := newFrameworkWithQueueSortAndBind(r, plugins, emptyArgs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -2120,7 +2115,7 @@ func TestWaitOnPermit(t *testing.T) {
|
|||||||
return testPermitPlugin, nil
|
return testPermitPlugin, nil
|
||||||
})
|
})
|
||||||
plugins := &config.Plugins{
|
plugins := &config.Plugins{
|
||||||
Permit: &config.PluginSet{Enabled: []config.Plugin{{Name: permitPlugin, Weight: 1}}},
|
Permit: config.PluginSet{Enabled: []config.Plugin{{Name: permitPlugin, Weight: 1}}},
|
||||||
}
|
}
|
||||||
|
|
||||||
f, err := newFrameworkWithQueueSortAndBind(r, plugins, emptyArgs)
|
f, err := newFrameworkWithQueueSortAndBind(r, plugins, emptyArgs)
|
||||||
@@ -2159,7 +2154,7 @@ func TestListPlugins(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "Add multiple plugins",
|
name: "Add multiple plugins",
|
||||||
plugins: &config.Plugins{
|
plugins: &config.Plugins{
|
||||||
Score: &config.PluginSet{Enabled: []config.Plugin{{Name: scorePlugin1}, {Name: scoreWithNormalizePlugin1}}},
|
Score: config.PluginSet{Enabled: []config.Plugin{{Name: scorePlugin1}, {Name: scoreWithNormalizePlugin1}}},
|
||||||
},
|
},
|
||||||
pluginSetCount: 3,
|
pluginSetCount: 3,
|
||||||
},
|
},
|
||||||
@@ -2188,7 +2183,7 @@ func buildScoreConfigWithWeights(weights map[string]int32, ps ...string) *config
|
|||||||
for _, p := range ps {
|
for _, p := range ps {
|
||||||
plugins = append(plugins, config.Plugin{Name: p, Weight: weights[p]})
|
plugins = append(plugins, config.Plugin{Name: p, Weight: weights[p]})
|
||||||
}
|
}
|
||||||
return &config.Plugins{Score: &config.PluginSet{Enabled: plugins}}
|
return &config.Plugins{Score: config.PluginSet{Enabled: plugins}}
|
||||||
}
|
}
|
||||||
|
|
||||||
type injectedResult struct {
|
type injectedResult struct {
|
||||||
|
@@ -96,7 +96,7 @@ func (v *cfgValidator) validate(cfg config.KubeSchedulerProfile) error {
|
|||||||
if v.m[cfg.SchedulerName] != nil {
|
if v.m[cfg.SchedulerName] != nil {
|
||||||
return fmt.Errorf("duplicate profile with scheduler name %q", cfg.SchedulerName)
|
return fmt.Errorf("duplicate profile with scheduler name %q", cfg.SchedulerName)
|
||||||
}
|
}
|
||||||
if cfg.Plugins.QueueSort == nil || len(cfg.Plugins.QueueSort.Enabled) != 1 {
|
if len(cfg.Plugins.QueueSort.Enabled) != 1 {
|
||||||
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
|
||||||
|
@@ -49,12 +49,12 @@ func TestNewMap(t *testing.T) {
|
|||||||
{
|
{
|
||||||
SchedulerName: "profile-1",
|
SchedulerName: "profile-1",
|
||||||
Plugins: &config.Plugins{
|
Plugins: &config.Plugins{
|
||||||
QueueSort: &config.PluginSet{
|
QueueSort: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: "QueueSort"},
|
{Name: "QueueSort"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Bind: &config.PluginSet{
|
Bind: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: "Bind1"},
|
{Name: "Bind1"},
|
||||||
},
|
},
|
||||||
@@ -64,12 +64,12 @@ func TestNewMap(t *testing.T) {
|
|||||||
{
|
{
|
||||||
SchedulerName: "profile-2",
|
SchedulerName: "profile-2",
|
||||||
Plugins: &config.Plugins{
|
Plugins: &config.Plugins{
|
||||||
QueueSort: &config.PluginSet{
|
QueueSort: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: "QueueSort"},
|
{Name: "QueueSort"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Bind: &config.PluginSet{
|
Bind: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: "Bind2"},
|
{Name: "Bind2"},
|
||||||
},
|
},
|
||||||
@@ -90,12 +90,12 @@ func TestNewMap(t *testing.T) {
|
|||||||
{
|
{
|
||||||
SchedulerName: "profile-1",
|
SchedulerName: "profile-1",
|
||||||
Plugins: &config.Plugins{
|
Plugins: &config.Plugins{
|
||||||
QueueSort: &config.PluginSet{
|
QueueSort: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: "QueueSort"},
|
{Name: "QueueSort"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Bind: &config.PluginSet{
|
Bind: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: "Bind1"},
|
{Name: "Bind1"},
|
||||||
},
|
},
|
||||||
@@ -105,12 +105,12 @@ func TestNewMap(t *testing.T) {
|
|||||||
{
|
{
|
||||||
SchedulerName: "profile-2",
|
SchedulerName: "profile-2",
|
||||||
Plugins: &config.Plugins{
|
Plugins: &config.Plugins{
|
||||||
QueueSort: &config.PluginSet{
|
QueueSort: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: "Another"},
|
{Name: "Another"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Bind: &config.PluginSet{
|
Bind: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: "Bind2"},
|
{Name: "Bind2"},
|
||||||
},
|
},
|
||||||
@@ -126,12 +126,12 @@ func TestNewMap(t *testing.T) {
|
|||||||
{
|
{
|
||||||
SchedulerName: "profile-1",
|
SchedulerName: "profile-1",
|
||||||
Plugins: &config.Plugins{
|
Plugins: &config.Plugins{
|
||||||
QueueSort: &config.PluginSet{
|
QueueSort: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: "QueueSort"},
|
{Name: "QueueSort"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Bind: &config.PluginSet{
|
Bind: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: "Bind1"},
|
{Name: "Bind1"},
|
||||||
},
|
},
|
||||||
@@ -147,12 +147,12 @@ func TestNewMap(t *testing.T) {
|
|||||||
{
|
{
|
||||||
SchedulerName: "profile-2",
|
SchedulerName: "profile-2",
|
||||||
Plugins: &config.Plugins{
|
Plugins: &config.Plugins{
|
||||||
QueueSort: &config.PluginSet{
|
QueueSort: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: "QueueSort"},
|
{Name: "QueueSort"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Bind: &config.PluginSet{
|
Bind: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: "Bind2"},
|
{Name: "Bind2"},
|
||||||
},
|
},
|
||||||
@@ -168,12 +168,12 @@ func TestNewMap(t *testing.T) {
|
|||||||
{
|
{
|
||||||
SchedulerName: "profile-1",
|
SchedulerName: "profile-1",
|
||||||
Plugins: &config.Plugins{
|
Plugins: &config.Plugins{
|
||||||
QueueSort: &config.PluginSet{
|
QueueSort: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: "QueueSort"},
|
{Name: "QueueSort"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Bind: &config.PluginSet{
|
Bind: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: "Bind1"},
|
{Name: "Bind1"},
|
||||||
},
|
},
|
||||||
@@ -183,12 +183,12 @@ func TestNewMap(t *testing.T) {
|
|||||||
{
|
{
|
||||||
SchedulerName: "profile-1",
|
SchedulerName: "profile-1",
|
||||||
Plugins: &config.Plugins{
|
Plugins: &config.Plugins{
|
||||||
QueueSort: &config.PluginSet{
|
QueueSort: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: "QueueSort"},
|
{Name: "QueueSort"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Bind: &config.PluginSet{
|
Bind: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: "Bind2"},
|
{Name: "Bind2"},
|
||||||
},
|
},
|
||||||
@@ -203,12 +203,12 @@ func TestNewMap(t *testing.T) {
|
|||||||
cfgs: []config.KubeSchedulerProfile{
|
cfgs: []config.KubeSchedulerProfile{
|
||||||
{
|
{
|
||||||
Plugins: &config.Plugins{
|
Plugins: &config.Plugins{
|
||||||
QueueSort: &config.PluginSet{
|
QueueSort: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: "QueueSort"},
|
{Name: "QueueSort"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Bind: &config.PluginSet{
|
Bind: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: "Bind1"},
|
{Name: "Bind1"},
|
||||||
},
|
},
|
||||||
@@ -233,7 +233,7 @@ func TestNewMap(t *testing.T) {
|
|||||||
{
|
{
|
||||||
SchedulerName: "invalid-profile",
|
SchedulerName: "invalid-profile",
|
||||||
Plugins: &config.Plugins{
|
Plugins: &config.Plugins{
|
||||||
QueueSort: &config.PluginSet{
|
QueueSort: config.PluginSet{
|
||||||
Enabled: []config.Plugin{
|
Enabled: []config.Plugin{
|
||||||
{Name: "QueueSort"},
|
{Name: "QueueSort"},
|
||||||
},
|
},
|
||||||
|
@@ -461,7 +461,7 @@ func TestSchedulerMultipleProfilesScheduling(t *testing.T) {
|
|||||||
WithProfiles(
|
WithProfiles(
|
||||||
schedulerapi.KubeSchedulerProfile{SchedulerName: "match-machine2",
|
schedulerapi.KubeSchedulerProfile{SchedulerName: "match-machine2",
|
||||||
Plugins: &schedulerapi.Plugins{
|
Plugins: &schedulerapi.Plugins{
|
||||||
Filter: &schedulerapi.PluginSet{
|
Filter: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{{Name: "FakeNodeSelector"}},
|
Enabled: []schedulerapi.Plugin{{Name: "FakeNodeSelector"}},
|
||||||
Disabled: []schedulerapi.Plugin{{Name: "*"}},
|
Disabled: []schedulerapi.Plugin{{Name: "*"}},
|
||||||
}},
|
}},
|
||||||
@@ -474,7 +474,7 @@ func TestSchedulerMultipleProfilesScheduling(t *testing.T) {
|
|||||||
schedulerapi.KubeSchedulerProfile{
|
schedulerapi.KubeSchedulerProfile{
|
||||||
SchedulerName: "match-machine3",
|
SchedulerName: "match-machine3",
|
||||||
Plugins: &schedulerapi.Plugins{
|
Plugins: &schedulerapi.Plugins{
|
||||||
Filter: &schedulerapi.PluginSet{
|
Filter: schedulerapi.PluginSet{
|
||||||
Enabled: []schedulerapi.Plugin{{Name: "FakeNodeSelector"}},
|
Enabled: []schedulerapi.Plugin{{Name: "FakeNodeSelector"}},
|
||||||
Disabled: []schedulerapi.Plugin{{Name: "*"}},
|
Disabled: []schedulerapi.Plugin{{Name: "*"}},
|
||||||
}},
|
}},
|
||||||
|
@@ -107,33 +107,26 @@ func RegisterPluginAsExtensionsWithWeight(pluginName string, weight int32, plugi
|
|||||||
func getPluginSetByExtension(plugins *schedulerapi.Plugins, extension string) *schedulerapi.PluginSet {
|
func getPluginSetByExtension(plugins *schedulerapi.Plugins, extension string) *schedulerapi.PluginSet {
|
||||||
switch extension {
|
switch extension {
|
||||||
case "QueueSort":
|
case "QueueSort":
|
||||||
return initializeIfNeeded(&plugins.QueueSort)
|
return &plugins.QueueSort
|
||||||
case "Filter":
|
case "Filter":
|
||||||
return initializeIfNeeded(&plugins.Filter)
|
return &plugins.Filter
|
||||||
case "PreFilter":
|
case "PreFilter":
|
||||||
return initializeIfNeeded(&plugins.PreFilter)
|
return &plugins.PreFilter
|
||||||
case "PreScore":
|
case "PreScore":
|
||||||
return initializeIfNeeded(&plugins.PreScore)
|
return &plugins.PreScore
|
||||||
case "Score":
|
case "Score":
|
||||||
return initializeIfNeeded(&plugins.Score)
|
return &plugins.Score
|
||||||
case "Bind":
|
case "Bind":
|
||||||
return initializeIfNeeded(&plugins.Bind)
|
return &plugins.Bind
|
||||||
case "Reserve":
|
case "Reserve":
|
||||||
return initializeIfNeeded(&plugins.Reserve)
|
return &plugins.Reserve
|
||||||
case "Permit":
|
case "Permit":
|
||||||
return initializeIfNeeded(&plugins.Permit)
|
return &plugins.Permit
|
||||||
case "PreBind":
|
case "PreBind":
|
||||||
return initializeIfNeeded(&plugins.PreBind)
|
return &plugins.PreBind
|
||||||
case "PostBind":
|
case "PostBind":
|
||||||
return initializeIfNeeded(&plugins.PostBind)
|
return &plugins.PostBind
|
||||||
default:
|
default:
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func initializeIfNeeded(s **schedulerapi.PluginSet) *schedulerapi.PluginSet {
|
|
||||||
if *s == nil {
|
|
||||||
*s = &schedulerapi.PluginSet{}
|
|
||||||
}
|
|
||||||
return *s
|
|
||||||
}
|
|
||||||
|
@@ -514,7 +514,7 @@ func TestPreFilterPlugin(t *testing.T) {
|
|||||||
prof := schedulerconfig.KubeSchedulerProfile{
|
prof := schedulerconfig.KubeSchedulerProfile{
|
||||||
SchedulerName: v1.DefaultSchedulerName,
|
SchedulerName: v1.DefaultSchedulerName,
|
||||||
Plugins: &schedulerconfig.Plugins{
|
Plugins: &schedulerconfig.Plugins{
|
||||||
PreFilter: &schedulerconfig.PluginSet{
|
PreFilter: schedulerconfig.PluginSet{
|
||||||
Enabled: []schedulerconfig.Plugin{
|
Enabled: []schedulerconfig.Plugin{
|
||||||
{Name: prefilterPluginName},
|
{Name: prefilterPluginName},
|
||||||
},
|
},
|
||||||
@@ -657,12 +657,12 @@ func TestPostFilterPlugin(t *testing.T) {
|
|||||||
prof := schedulerconfig.KubeSchedulerProfile{
|
prof := schedulerconfig.KubeSchedulerProfile{
|
||||||
SchedulerName: v1.DefaultSchedulerName,
|
SchedulerName: v1.DefaultSchedulerName,
|
||||||
Plugins: &schedulerconfig.Plugins{
|
Plugins: &schedulerconfig.Plugins{
|
||||||
Filter: &schedulerconfig.PluginSet{
|
Filter: schedulerconfig.PluginSet{
|
||||||
Enabled: []schedulerconfig.Plugin{
|
Enabled: []schedulerconfig.Plugin{
|
||||||
{Name: filterPluginName},
|
{Name: filterPluginName},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Score: &schedulerconfig.PluginSet{
|
Score: schedulerconfig.PluginSet{
|
||||||
Enabled: []schedulerconfig.Plugin{
|
Enabled: []schedulerconfig.Plugin{
|
||||||
{Name: scorePluginName},
|
{Name: scorePluginName},
|
||||||
},
|
},
|
||||||
@@ -672,7 +672,7 @@ func TestPostFilterPlugin(t *testing.T) {
|
|||||||
{Name: "*"},
|
{Name: "*"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PostFilter: &schedulerconfig.PluginSet{
|
PostFilter: schedulerconfig.PluginSet{
|
||||||
Enabled: []schedulerconfig.Plugin{
|
Enabled: []schedulerconfig.Plugin{
|
||||||
{Name: postfilterPluginName},
|
{Name: postfilterPluginName},
|
||||||
},
|
},
|
||||||
@@ -744,7 +744,7 @@ func TestScorePlugin(t *testing.T) {
|
|||||||
prof := schedulerconfig.KubeSchedulerProfile{
|
prof := schedulerconfig.KubeSchedulerProfile{
|
||||||
SchedulerName: v1.DefaultSchedulerName,
|
SchedulerName: v1.DefaultSchedulerName,
|
||||||
Plugins: &schedulerconfig.Plugins{
|
Plugins: &schedulerconfig.Plugins{
|
||||||
Score: &schedulerconfig.PluginSet{
|
Score: schedulerconfig.PluginSet{
|
||||||
Enabled: []schedulerconfig.Plugin{
|
Enabled: []schedulerconfig.Plugin{
|
||||||
{Name: scorePluginName},
|
{Name: scorePluginName},
|
||||||
},
|
},
|
||||||
@@ -820,7 +820,7 @@ func TestNormalizeScorePlugin(t *testing.T) {
|
|||||||
prof := schedulerconfig.KubeSchedulerProfile{
|
prof := schedulerconfig.KubeSchedulerProfile{
|
||||||
SchedulerName: v1.DefaultSchedulerName,
|
SchedulerName: v1.DefaultSchedulerName,
|
||||||
Plugins: &schedulerconfig.Plugins{
|
Plugins: &schedulerconfig.Plugins{
|
||||||
Score: &schedulerconfig.PluginSet{
|
Score: schedulerconfig.PluginSet{
|
||||||
Enabled: []schedulerconfig.Plugin{
|
Enabled: []schedulerconfig.Plugin{
|
||||||
{Name: scoreWithNormalizePluginName},
|
{Name: scoreWithNormalizePluginName},
|
||||||
},
|
},
|
||||||
@@ -864,7 +864,7 @@ func TestReservePluginReserve(t *testing.T) {
|
|||||||
prof := schedulerconfig.KubeSchedulerProfile{
|
prof := schedulerconfig.KubeSchedulerProfile{
|
||||||
SchedulerName: v1.DefaultSchedulerName,
|
SchedulerName: v1.DefaultSchedulerName,
|
||||||
Plugins: &schedulerconfig.Plugins{
|
Plugins: &schedulerconfig.Plugins{
|
||||||
Reserve: &schedulerconfig.PluginSet{
|
Reserve: schedulerconfig.PluginSet{
|
||||||
Enabled: []schedulerconfig.Plugin{
|
Enabled: []schedulerconfig.Plugin{
|
||||||
{
|
{
|
||||||
Name: reservePluginName,
|
Name: reservePluginName,
|
||||||
@@ -935,7 +935,7 @@ func TestPrebindPlugin(t *testing.T) {
|
|||||||
prof := schedulerconfig.KubeSchedulerProfile{
|
prof := schedulerconfig.KubeSchedulerProfile{
|
||||||
SchedulerName: v1.DefaultSchedulerName,
|
SchedulerName: v1.DefaultSchedulerName,
|
||||||
Plugins: &schedulerconfig.Plugins{
|
Plugins: &schedulerconfig.Plugins{
|
||||||
PreBind: &schedulerconfig.PluginSet{
|
PreBind: schedulerconfig.PluginSet{
|
||||||
Enabled: []schedulerconfig.Plugin{
|
Enabled: []schedulerconfig.Plugin{
|
||||||
{
|
{
|
||||||
Name: preBindPluginName,
|
Name: preBindPluginName,
|
||||||
@@ -1061,10 +1061,10 @@ func TestReservePluginUnreserve(t *testing.T) {
|
|||||||
prof := schedulerconfig.KubeSchedulerProfile{
|
prof := schedulerconfig.KubeSchedulerProfile{
|
||||||
SchedulerName: v1.DefaultSchedulerName,
|
SchedulerName: v1.DefaultSchedulerName,
|
||||||
Plugins: &schedulerconfig.Plugins{
|
Plugins: &schedulerconfig.Plugins{
|
||||||
Reserve: &schedulerconfig.PluginSet{
|
Reserve: schedulerconfig.PluginSet{
|
||||||
// filled by looping over reservePlugins
|
// filled by looping over reservePlugins
|
||||||
},
|
},
|
||||||
PreBind: &schedulerconfig.PluginSet{
|
PreBind: schedulerconfig.PluginSet{
|
||||||
Enabled: []schedulerconfig.Plugin{
|
Enabled: []schedulerconfig.Plugin{
|
||||||
{
|
{
|
||||||
Name: preBindPluginName,
|
Name: preBindPluginName,
|
||||||
@@ -1159,15 +1159,15 @@ func TestBindPlugin(t *testing.T) {
|
|||||||
prof := schedulerconfig.KubeSchedulerProfile{
|
prof := schedulerconfig.KubeSchedulerProfile{
|
||||||
SchedulerName: v1.DefaultSchedulerName,
|
SchedulerName: v1.DefaultSchedulerName,
|
||||||
Plugins: &schedulerconfig.Plugins{
|
Plugins: &schedulerconfig.Plugins{
|
||||||
Reserve: &schedulerconfig.PluginSet{
|
Reserve: schedulerconfig.PluginSet{
|
||||||
Enabled: []schedulerconfig.Plugin{{Name: reservePlugin.Name()}},
|
Enabled: []schedulerconfig.Plugin{{Name: reservePlugin.Name()}},
|
||||||
},
|
},
|
||||||
Bind: &schedulerconfig.PluginSet{
|
Bind: schedulerconfig.PluginSet{
|
||||||
// Put DefaultBinder last.
|
// Put DefaultBinder last.
|
||||||
Enabled: []schedulerconfig.Plugin{{Name: bindPlugin1.Name()}, {Name: bindPlugin2.Name()}, {Name: defaultbinder.Name}},
|
Enabled: []schedulerconfig.Plugin{{Name: bindPlugin1.Name()}, {Name: bindPlugin2.Name()}, {Name: defaultbinder.Name}},
|
||||||
Disabled: []schedulerconfig.Plugin{{Name: defaultbinder.Name}},
|
Disabled: []schedulerconfig.Plugin{{Name: defaultbinder.Name}},
|
||||||
},
|
},
|
||||||
PostBind: &schedulerconfig.PluginSet{
|
PostBind: schedulerconfig.PluginSet{
|
||||||
Enabled: []schedulerconfig.Plugin{{Name: postBindPlugin.Name()}},
|
Enabled: []schedulerconfig.Plugin{{Name: postBindPlugin.Name()}},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -1345,14 +1345,14 @@ func TestPostBindPlugin(t *testing.T) {
|
|||||||
prof := schedulerconfig.KubeSchedulerProfile{
|
prof := schedulerconfig.KubeSchedulerProfile{
|
||||||
SchedulerName: v1.DefaultSchedulerName,
|
SchedulerName: v1.DefaultSchedulerName,
|
||||||
Plugins: &schedulerconfig.Plugins{
|
Plugins: &schedulerconfig.Plugins{
|
||||||
PreBind: &schedulerconfig.PluginSet{
|
PreBind: schedulerconfig.PluginSet{
|
||||||
Enabled: []schedulerconfig.Plugin{
|
Enabled: []schedulerconfig.Plugin{
|
||||||
{
|
{
|
||||||
Name: preBindPluginName,
|
Name: preBindPluginName,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PostBind: &schedulerconfig.PluginSet{
|
PostBind: schedulerconfig.PluginSet{
|
||||||
Enabled: []schedulerconfig.Plugin{
|
Enabled: []schedulerconfig.Plugin{
|
||||||
{
|
{
|
||||||
Name: postBindPluginName,
|
Name: postBindPluginName,
|
||||||
@@ -1691,7 +1691,7 @@ func TestFilterPlugin(t *testing.T) {
|
|||||||
prof := schedulerconfig.KubeSchedulerProfile{
|
prof := schedulerconfig.KubeSchedulerProfile{
|
||||||
SchedulerName: v1.DefaultSchedulerName,
|
SchedulerName: v1.DefaultSchedulerName,
|
||||||
Plugins: &schedulerconfig.Plugins{
|
Plugins: &schedulerconfig.Plugins{
|
||||||
Filter: &schedulerconfig.PluginSet{
|
Filter: schedulerconfig.PluginSet{
|
||||||
Enabled: []schedulerconfig.Plugin{
|
Enabled: []schedulerconfig.Plugin{
|
||||||
{
|
{
|
||||||
Name: filterPluginName,
|
Name: filterPluginName,
|
||||||
@@ -1763,7 +1763,7 @@ func TestPreScorePlugin(t *testing.T) {
|
|||||||
prof := schedulerconfig.KubeSchedulerProfile{
|
prof := schedulerconfig.KubeSchedulerProfile{
|
||||||
SchedulerName: v1.DefaultSchedulerName,
|
SchedulerName: v1.DefaultSchedulerName,
|
||||||
Plugins: &schedulerconfig.Plugins{
|
Plugins: &schedulerconfig.Plugins{
|
||||||
PreScore: &schedulerconfig.PluginSet{
|
PreScore: schedulerconfig.PluginSet{
|
||||||
Enabled: []schedulerconfig.Plugin{
|
Enabled: []schedulerconfig.Plugin{
|
||||||
{
|
{
|
||||||
Name: preScorePluginName,
|
Name: preScorePluginName,
|
||||||
@@ -1929,7 +1929,7 @@ func initRegistryAndConfig(pp ...*PermitPlugin) (registry frameworkruntime.Regis
|
|||||||
|
|
||||||
prof.SchedulerName = v1.DefaultSchedulerName
|
prof.SchedulerName = v1.DefaultSchedulerName
|
||||||
prof.Plugins = &schedulerconfig.Plugins{
|
prof.Plugins = &schedulerconfig.Plugins{
|
||||||
Permit: &schedulerconfig.PluginSet{
|
Permit: schedulerconfig.PluginSet{
|
||||||
Enabled: plugins,
|
Enabled: plugins,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@@ -135,12 +135,12 @@ func TestPreemption(t *testing.T) {
|
|||||||
prof := schedulerconfig.KubeSchedulerProfile{
|
prof := schedulerconfig.KubeSchedulerProfile{
|
||||||
SchedulerName: v1.DefaultSchedulerName,
|
SchedulerName: v1.DefaultSchedulerName,
|
||||||
Plugins: &schedulerconfig.Plugins{
|
Plugins: &schedulerconfig.Plugins{
|
||||||
Filter: &schedulerconfig.PluginSet{
|
Filter: schedulerconfig.PluginSet{
|
||||||
Enabled: []schedulerconfig.Plugin{
|
Enabled: []schedulerconfig.Plugin{
|
||||||
{Name: filterPluginName},
|
{Name: filterPluginName},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PreFilter: &schedulerconfig.PluginSet{
|
PreFilter: schedulerconfig.PluginSet{
|
||||||
Enabled: []schedulerconfig.Plugin{
|
Enabled: []schedulerconfig.Plugin{
|
||||||
{Name: filterPluginName},
|
{Name: filterPluginName},
|
||||||
},
|
},
|
||||||
|
@@ -43,7 +43,7 @@ func initTestSchedulerForPriorityTest(t *testing.T, scorePluginName string) *tes
|
|||||||
prof := schedulerconfig.KubeSchedulerProfile{
|
prof := schedulerconfig.KubeSchedulerProfile{
|
||||||
SchedulerName: v1.DefaultSchedulerName,
|
SchedulerName: v1.DefaultSchedulerName,
|
||||||
Plugins: &schedulerconfig.Plugins{
|
Plugins: &schedulerconfig.Plugins{
|
||||||
Score: &schedulerconfig.PluginSet{
|
Score: schedulerconfig.PluginSet{
|
||||||
Enabled: []schedulerconfig.Plugin{
|
Enabled: []schedulerconfig.Plugin{
|
||||||
{Name: scorePluginName, Weight: 1},
|
{Name: scorePluginName, Weight: 1},
|
||||||
},
|
},
|
||||||
|
@@ -92,7 +92,7 @@ func initTestDisablePreemption(t *testing.T, nsPrefix string) *testutils.TestCon
|
|||||||
prof := schedulerconfig.KubeSchedulerProfile{
|
prof := schedulerconfig.KubeSchedulerProfile{
|
||||||
SchedulerName: v1.DefaultSchedulerName,
|
SchedulerName: v1.DefaultSchedulerName,
|
||||||
Plugins: &schedulerconfig.Plugins{
|
Plugins: &schedulerconfig.Plugins{
|
||||||
PostFilter: &schedulerconfig.PluginSet{
|
PostFilter: schedulerconfig.PluginSet{
|
||||||
Disabled: []schedulerconfig.Plugin{
|
Disabled: []schedulerconfig.Plugin{
|
||||||
{Name: defaultpreemption.Name},
|
{Name: defaultpreemption.Name},
|
||||||
},
|
},
|
||||||
|
Reference in New Issue
Block a user