mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-22 11:21:47 +00:00
Merge pull request #86284 from ahg-g/ahg1-prefilter2
Register nodeports and noderesources prefilters
This commit is contained in:
commit
e5f0648c6b
@ -104,6 +104,8 @@ func TestCompatibility(t *testing.T) {
|
|||||||
name: "No Provider specified",
|
name: "No Provider specified",
|
||||||
wantPlugins: map[string][]config.Plugin{
|
wantPlugins: map[string][]config.Plugin{
|
||||||
"PreFilterPlugin": {
|
"PreFilterPlugin": {
|
||||||
|
{Name: "NodeResourcesFit"},
|
||||||
|
{Name: "NodePorts"},
|
||||||
{Name: "InterPodAffinity"},
|
{Name: "InterPodAffinity"},
|
||||||
},
|
},
|
||||||
"FilterPlugin": {
|
"FilterPlugin": {
|
||||||
@ -139,6 +141,8 @@ func TestCompatibility(t *testing.T) {
|
|||||||
provider: config.SchedulerDefaultProviderName,
|
provider: config.SchedulerDefaultProviderName,
|
||||||
wantPlugins: map[string][]config.Plugin{
|
wantPlugins: map[string][]config.Plugin{
|
||||||
"PreFilterPlugin": {
|
"PreFilterPlugin": {
|
||||||
|
{Name: "NodeResourcesFit"},
|
||||||
|
{Name: "NodePorts"},
|
||||||
{Name: "InterPodAffinity"},
|
{Name: "InterPodAffinity"},
|
||||||
},
|
},
|
||||||
"FilterPlugin": {
|
"FilterPlugin": {
|
||||||
@ -174,6 +178,8 @@ func TestCompatibility(t *testing.T) {
|
|||||||
provider: ClusterAutoscalerProvider,
|
provider: ClusterAutoscalerProvider,
|
||||||
wantPlugins: map[string][]config.Plugin{
|
wantPlugins: map[string][]config.Plugin{
|
||||||
"PreFilterPlugin": {
|
"PreFilterPlugin": {
|
||||||
|
{Name: "NodeResourcesFit"},
|
||||||
|
{Name: "NodePorts"},
|
||||||
{Name: "InterPodAffinity"},
|
{Name: "InterPodAffinity"},
|
||||||
},
|
},
|
||||||
"FilterPlugin": {
|
"FilterPlugin": {
|
||||||
|
@ -64,6 +64,10 @@ func TestCompatibility_v1_Scheduler(t *testing.T) {
|
|||||||
]
|
]
|
||||||
}`,
|
}`,
|
||||||
wantPlugins: map[string][]config.Plugin{
|
wantPlugins: map[string][]config.Plugin{
|
||||||
|
"PreFilterPlugin": {
|
||||||
|
{Name: "NodeResourcesFit"},
|
||||||
|
{Name: "NodePorts"},
|
||||||
|
},
|
||||||
"FilterPlugin": {
|
"FilterPlugin": {
|
||||||
{Name: "NodeUnschedulable"},
|
{Name: "NodeUnschedulable"},
|
||||||
{Name: "NodeResourcesFit"},
|
{Name: "NodeResourcesFit"},
|
||||||
@ -118,6 +122,7 @@ func TestCompatibility_v1_Scheduler(t *testing.T) {
|
|||||||
),
|
),
|
||||||
wantPlugins: map[string][]config.Plugin{
|
wantPlugins: map[string][]config.Plugin{
|
||||||
"PreFilterPlugin": {
|
"PreFilterPlugin": {
|
||||||
|
{Name: "NodeResourcesFit"},
|
||||||
{Name: "ServiceAffinity"},
|
{Name: "ServiceAffinity"},
|
||||||
},
|
},
|
||||||
"FilterPlugin": {
|
"FilterPlugin": {
|
||||||
@ -164,6 +169,8 @@ func TestCompatibility_v1_Scheduler(t *testing.T) {
|
|||||||
wantPredicates: sets.NewString(),
|
wantPredicates: sets.NewString(),
|
||||||
wantPlugins: map[string][]config.Plugin{
|
wantPlugins: map[string][]config.Plugin{
|
||||||
"PreFilterPlugin": {
|
"PreFilterPlugin": {
|
||||||
|
{Name: "NodePorts"},
|
||||||
|
{Name: "NodeResourcesFit"},
|
||||||
{Name: "ServiceAffinity"},
|
{Name: "ServiceAffinity"},
|
||||||
},
|
},
|
||||||
"FilterPlugin": {
|
"FilterPlugin": {
|
||||||
@ -219,6 +226,8 @@ func TestCompatibility_v1_Scheduler(t *testing.T) {
|
|||||||
wantPredicates: sets.NewString(),
|
wantPredicates: sets.NewString(),
|
||||||
wantPlugins: map[string][]config.Plugin{
|
wantPlugins: map[string][]config.Plugin{
|
||||||
"PreFilterPlugin": {
|
"PreFilterPlugin": {
|
||||||
|
{Name: "NodePorts"},
|
||||||
|
{Name: "NodeResourcesFit"},
|
||||||
{Name: "ServiceAffinity"},
|
{Name: "ServiceAffinity"},
|
||||||
},
|
},
|
||||||
"FilterPlugin": {
|
"FilterPlugin": {
|
||||||
@ -283,6 +292,8 @@ func TestCompatibility_v1_Scheduler(t *testing.T) {
|
|||||||
wantPredicates: sets.NewString(),
|
wantPredicates: sets.NewString(),
|
||||||
wantPlugins: map[string][]config.Plugin{
|
wantPlugins: map[string][]config.Plugin{
|
||||||
"PreFilterPlugin": {
|
"PreFilterPlugin": {
|
||||||
|
{Name: "NodePorts"},
|
||||||
|
{Name: "NodeResourcesFit"},
|
||||||
{Name: "ServiceAffinity"},
|
{Name: "ServiceAffinity"},
|
||||||
{Name: "InterPodAffinity"},
|
{Name: "InterPodAffinity"},
|
||||||
},
|
},
|
||||||
@ -351,6 +362,8 @@ func TestCompatibility_v1_Scheduler(t *testing.T) {
|
|||||||
wantPredicates: sets.NewString(),
|
wantPredicates: sets.NewString(),
|
||||||
wantPlugins: map[string][]config.Plugin{
|
wantPlugins: map[string][]config.Plugin{
|
||||||
"PreFilterPlugin": {
|
"PreFilterPlugin": {
|
||||||
|
{Name: "NodePorts"},
|
||||||
|
{Name: "NodeResourcesFit"},
|
||||||
{Name: "ServiceAffinity"},
|
{Name: "ServiceAffinity"},
|
||||||
{Name: "InterPodAffinity"},
|
{Name: "InterPodAffinity"},
|
||||||
},
|
},
|
||||||
@ -430,6 +443,8 @@ func TestCompatibility_v1_Scheduler(t *testing.T) {
|
|||||||
wantPredicates: sets.NewString(),
|
wantPredicates: sets.NewString(),
|
||||||
wantPlugins: map[string][]config.Plugin{
|
wantPlugins: map[string][]config.Plugin{
|
||||||
"PreFilterPlugin": {
|
"PreFilterPlugin": {
|
||||||
|
{Name: "NodePorts"},
|
||||||
|
{Name: "NodeResourcesFit"},
|
||||||
{Name: "ServiceAffinity"},
|
{Name: "ServiceAffinity"},
|
||||||
{Name: "InterPodAffinity"},
|
{Name: "InterPodAffinity"},
|
||||||
},
|
},
|
||||||
@ -520,6 +535,8 @@ func TestCompatibility_v1_Scheduler(t *testing.T) {
|
|||||||
wantPredicates: sets.NewString(),
|
wantPredicates: sets.NewString(),
|
||||||
wantPlugins: map[string][]config.Plugin{
|
wantPlugins: map[string][]config.Plugin{
|
||||||
"PreFilterPlugin": {
|
"PreFilterPlugin": {
|
||||||
|
{Name: "NodePorts"},
|
||||||
|
{Name: "NodeResourcesFit"},
|
||||||
{Name: "ServiceAffinity"},
|
{Name: "ServiceAffinity"},
|
||||||
{Name: "InterPodAffinity"},
|
{Name: "InterPodAffinity"},
|
||||||
},
|
},
|
||||||
@ -611,6 +628,8 @@ func TestCompatibility_v1_Scheduler(t *testing.T) {
|
|||||||
wantPredicates: sets.NewString(),
|
wantPredicates: sets.NewString(),
|
||||||
wantPlugins: map[string][]config.Plugin{
|
wantPlugins: map[string][]config.Plugin{
|
||||||
"PreFilterPlugin": {
|
"PreFilterPlugin": {
|
||||||
|
{Name: "NodePorts"},
|
||||||
|
{Name: "NodeResourcesFit"},
|
||||||
{Name: "ServiceAffinity"},
|
{Name: "ServiceAffinity"},
|
||||||
{Name: "InterPodAffinity"},
|
{Name: "InterPodAffinity"},
|
||||||
},
|
},
|
||||||
@ -706,6 +725,8 @@ func TestCompatibility_v1_Scheduler(t *testing.T) {
|
|||||||
wantPredicates: sets.NewString(),
|
wantPredicates: sets.NewString(),
|
||||||
wantPlugins: map[string][]config.Plugin{
|
wantPlugins: map[string][]config.Plugin{
|
||||||
"PreFilterPlugin": {
|
"PreFilterPlugin": {
|
||||||
|
{Name: "NodePorts"},
|
||||||
|
{Name: "NodeResourcesFit"},
|
||||||
{Name: "ServiceAffinity"},
|
{Name: "ServiceAffinity"},
|
||||||
{Name: "InterPodAffinity"},
|
{Name: "InterPodAffinity"},
|
||||||
},
|
},
|
||||||
@ -813,6 +834,8 @@ func TestCompatibility_v1_Scheduler(t *testing.T) {
|
|||||||
wantPredicates: sets.NewString(),
|
wantPredicates: sets.NewString(),
|
||||||
wantPlugins: map[string][]config.Plugin{
|
wantPlugins: map[string][]config.Plugin{
|
||||||
"PreFilterPlugin": {
|
"PreFilterPlugin": {
|
||||||
|
{Name: "NodePorts"},
|
||||||
|
{Name: "NodeResourcesFit"},
|
||||||
{Name: "ServiceAffinity"},
|
{Name: "ServiceAffinity"},
|
||||||
{Name: "InterPodAffinity"},
|
{Name: "InterPodAffinity"},
|
||||||
},
|
},
|
||||||
@ -922,6 +945,8 @@ func TestCompatibility_v1_Scheduler(t *testing.T) {
|
|||||||
wantPredicates: sets.NewString(),
|
wantPredicates: sets.NewString(),
|
||||||
wantPlugins: map[string][]config.Plugin{
|
wantPlugins: map[string][]config.Plugin{
|
||||||
"PreFilterPlugin": {
|
"PreFilterPlugin": {
|
||||||
|
{Name: "NodePorts"},
|
||||||
|
{Name: "NodeResourcesFit"},
|
||||||
{Name: "ServiceAffinity"},
|
{Name: "ServiceAffinity"},
|
||||||
{Name: "InterPodAffinity"},
|
{Name: "InterPodAffinity"},
|
||||||
},
|
},
|
||||||
@ -1031,6 +1056,8 @@ func TestCompatibility_v1_Scheduler(t *testing.T) {
|
|||||||
wantPredicates: sets.NewString(),
|
wantPredicates: sets.NewString(),
|
||||||
wantPlugins: map[string][]config.Plugin{
|
wantPlugins: map[string][]config.Plugin{
|
||||||
"PreFilterPlugin": {
|
"PreFilterPlugin": {
|
||||||
|
{Name: "NodePorts"},
|
||||||
|
{Name: "NodeResourcesFit"},
|
||||||
{Name: "ServiceAffinity"},
|
{Name: "ServiceAffinity"},
|
||||||
{Name: "InterPodAffinity"},
|
{Name: "InterPodAffinity"},
|
||||||
},
|
},
|
||||||
@ -1145,6 +1172,8 @@ func TestCompatibility_v1_Scheduler(t *testing.T) {
|
|||||||
wantPredicates: sets.NewString(),
|
wantPredicates: sets.NewString(),
|
||||||
wantPlugins: map[string][]config.Plugin{
|
wantPlugins: map[string][]config.Plugin{
|
||||||
"PreFilterPlugin": {
|
"PreFilterPlugin": {
|
||||||
|
{Name: "NodePorts"},
|
||||||
|
{Name: "NodeResourcesFit"},
|
||||||
{Name: "ServiceAffinity"},
|
{Name: "ServiceAffinity"},
|
||||||
{Name: "InterPodAffinity"},
|
{Name: "InterPodAffinity"},
|
||||||
},
|
},
|
||||||
|
@ -124,9 +124,11 @@ func NewDefaultConfigProducerRegistry() *ConfigProducerRegistry {
|
|||||||
func(args ConfigProducerArgs) (plugins config.Plugins, pluginConfig []config.PluginConfig) {
|
func(args ConfigProducerArgs) (plugins config.Plugins, pluginConfig []config.PluginConfig) {
|
||||||
// GeneralPredicate is a combination of predicates.
|
// GeneralPredicate is a combination of predicates.
|
||||||
plugins.Filter = appendToPluginSet(plugins.Filter, noderesources.FitName, nil)
|
plugins.Filter = appendToPluginSet(plugins.Filter, noderesources.FitName, nil)
|
||||||
|
plugins.PreFilter = appendToPluginSet(plugins.PreFilter, noderesources.FitName, nil)
|
||||||
pluginConfig = append(pluginConfig, makePluginConfig(noderesources.FitName, args.NodeResourcesFitArgs))
|
pluginConfig = append(pluginConfig, makePluginConfig(noderesources.FitName, args.NodeResourcesFitArgs))
|
||||||
plugins.Filter = appendToPluginSet(plugins.Filter, nodename.Name, nil)
|
plugins.Filter = appendToPluginSet(plugins.Filter, nodename.Name, nil)
|
||||||
plugins.Filter = appendToPluginSet(plugins.Filter, nodeports.Name, nil)
|
plugins.Filter = appendToPluginSet(plugins.Filter, nodeports.Name, nil)
|
||||||
|
plugins.PreFilter = appendToPluginSet(plugins.PreFilter, nodeports.Name, nil)
|
||||||
plugins.Filter = appendToPluginSet(plugins.Filter, nodeaffinity.Name, nil)
|
plugins.Filter = appendToPluginSet(plugins.Filter, nodeaffinity.Name, nil)
|
||||||
return
|
return
|
||||||
})
|
})
|
||||||
@ -138,6 +140,7 @@ func NewDefaultConfigProducerRegistry() *ConfigProducerRegistry {
|
|||||||
registry.RegisterPredicate(predicates.PodFitsResourcesPred,
|
registry.RegisterPredicate(predicates.PodFitsResourcesPred,
|
||||||
func(args ConfigProducerArgs) (plugins config.Plugins, pluginConfig []config.PluginConfig) {
|
func(args ConfigProducerArgs) (plugins config.Plugins, pluginConfig []config.PluginConfig) {
|
||||||
plugins.Filter = appendToPluginSet(plugins.Filter, noderesources.FitName, nil)
|
plugins.Filter = appendToPluginSet(plugins.Filter, noderesources.FitName, nil)
|
||||||
|
plugins.PreFilter = appendToPluginSet(plugins.PreFilter, noderesources.FitName, nil)
|
||||||
pluginConfig = append(pluginConfig, makePluginConfig(noderesources.FitName, args.NodeResourcesFitArgs))
|
pluginConfig = append(pluginConfig, makePluginConfig(noderesources.FitName, args.NodeResourcesFitArgs))
|
||||||
return
|
return
|
||||||
})
|
})
|
||||||
@ -149,6 +152,7 @@ func NewDefaultConfigProducerRegistry() *ConfigProducerRegistry {
|
|||||||
registry.RegisterPredicate(predicates.PodFitsHostPortsPred,
|
registry.RegisterPredicate(predicates.PodFitsHostPortsPred,
|
||||||
func(_ ConfigProducerArgs) (plugins config.Plugins, pluginConfig []config.PluginConfig) {
|
func(_ ConfigProducerArgs) (plugins config.Plugins, pluginConfig []config.PluginConfig) {
|
||||||
plugins.Filter = appendToPluginSet(plugins.Filter, nodeports.Name, nil)
|
plugins.Filter = appendToPluginSet(plugins.Filter, nodeports.Name, nil)
|
||||||
|
plugins.PreFilter = appendToPluginSet(plugins.PreFilter, nodeports.Name, nil)
|
||||||
return
|
return
|
||||||
})
|
})
|
||||||
registry.RegisterPredicate(predicates.MatchNodeSelectorPred,
|
registry.RegisterPredicate(predicates.MatchNodeSelectorPred,
|
||||||
|
@ -126,6 +126,8 @@ func TestSchedulerCreationFromConfigMap(t *testing.T) {
|
|||||||
}`,
|
}`,
|
||||||
expectedPlugins: map[string][]kubeschedulerconfig.Plugin{
|
expectedPlugins: map[string][]kubeschedulerconfig.Plugin{
|
||||||
"PreFilterPlugin": {
|
"PreFilterPlugin": {
|
||||||
|
{Name: "NodeResourcesFit"},
|
||||||
|
{Name: "NodePorts"},
|
||||||
{Name: "InterPodAffinity"},
|
{Name: "InterPodAffinity"},
|
||||||
},
|
},
|
||||||
"FilterPlugin": {
|
"FilterPlugin": {
|
||||||
@ -200,6 +202,8 @@ kind: Policy
|
|||||||
`,
|
`,
|
||||||
expectedPlugins: map[string][]kubeschedulerconfig.Plugin{
|
expectedPlugins: map[string][]kubeschedulerconfig.Plugin{
|
||||||
"PreFilterPlugin": {
|
"PreFilterPlugin": {
|
||||||
|
{Name: "NodeResourcesFit"},
|
||||||
|
{Name: "NodePorts"},
|
||||||
{Name: "InterPodAffinity"},
|
{Name: "InterPodAffinity"},
|
||||||
},
|
},
|
||||||
"FilterPlugin": {
|
"FilterPlugin": {
|
||||||
|
Loading…
Reference in New Issue
Block a user