diff --git a/cmd/kube-scheduler/app/options/options_test.go b/cmd/kube-scheduler/app/options/options_test.go index 8a86ee8aaf8..ad300ef3e64 100644 --- a/cmd/kube-scheduler/app/options/options_test.go +++ b/cmd/kube-scheduler/app/options/options_test.go @@ -247,7 +247,6 @@ profiles: } defaultSource := "DefaultProvider" - defaultBindTimeoutSeconds := int64(600) defaultPodInitialBackoffSeconds := int64(1) defaultPodMaxBackoffSeconds := int64(10) defaultPercentageOfNodesToScore := int32(0) @@ -320,7 +319,6 @@ profiles: ContentType: "application/vnd.kubernetes.protobuf", }, PercentageOfNodesToScore: defaultPercentageOfNodesToScore, - BindTimeoutSeconds: defaultBindTimeoutSeconds, PodInitialBackoffSeconds: defaultPodInitialBackoffSeconds, PodMaxBackoffSeconds: defaultPodMaxBackoffSeconds, Profiles: []kubeschedulerconfig.KubeSchedulerProfile{ @@ -410,7 +408,6 @@ profiles: ContentType: "application/vnd.kubernetes.protobuf", }, PercentageOfNodesToScore: defaultPercentageOfNodesToScore, - BindTimeoutSeconds: defaultBindTimeoutSeconds, PodInitialBackoffSeconds: defaultPodInitialBackoffSeconds, PodMaxBackoffSeconds: defaultPodMaxBackoffSeconds, Profiles: []kubeschedulerconfig.KubeSchedulerProfile{ @@ -474,7 +471,6 @@ profiles: ContentType: "application/vnd.kubernetes.protobuf", }, PercentageOfNodesToScore: defaultPercentageOfNodesToScore, - BindTimeoutSeconds: defaultBindTimeoutSeconds, PodInitialBackoffSeconds: defaultPodInitialBackoffSeconds, PodMaxBackoffSeconds: defaultPodMaxBackoffSeconds, Profiles: []kubeschedulerconfig.KubeSchedulerProfile{ @@ -513,7 +509,6 @@ profiles: ContentType: "application/vnd.kubernetes.protobuf", }, PercentageOfNodesToScore: defaultPercentageOfNodesToScore, - BindTimeoutSeconds: defaultBindTimeoutSeconds, PodInitialBackoffSeconds: defaultPodInitialBackoffSeconds, PodMaxBackoffSeconds: defaultPodMaxBackoffSeconds, Profiles: []kubeschedulerconfig.KubeSchedulerProfile{ @@ -587,7 +582,6 @@ profiles: ContentType: "application/vnd.kubernetes.protobuf", }, PercentageOfNodesToScore: defaultPercentageOfNodesToScore, - BindTimeoutSeconds: defaultBindTimeoutSeconds, PodInitialBackoffSeconds: defaultPodInitialBackoffSeconds, PodMaxBackoffSeconds: defaultPodMaxBackoffSeconds, Profiles: []kubeschedulerconfig.KubeSchedulerProfile{ @@ -659,7 +653,6 @@ profiles: ContentType: "application/vnd.kubernetes.protobuf", }, PercentageOfNodesToScore: defaultPercentageOfNodesToScore, - BindTimeoutSeconds: defaultBindTimeoutSeconds, PodInitialBackoffSeconds: defaultPodInitialBackoffSeconds, PodMaxBackoffSeconds: defaultPodMaxBackoffSeconds, Profiles: []kubeschedulerconfig.KubeSchedulerProfile{ @@ -711,7 +704,6 @@ profiles: ContentType: "application/vnd.kubernetes.protobuf", }, PercentageOfNodesToScore: defaultPercentageOfNodesToScore, - BindTimeoutSeconds: defaultBindTimeoutSeconds, PodInitialBackoffSeconds: defaultPodInitialBackoffSeconds, PodMaxBackoffSeconds: defaultPodMaxBackoffSeconds, Profiles: []kubeschedulerconfig.KubeSchedulerProfile{ diff --git a/cmd/kube-scheduler/app/server.go b/cmd/kube-scheduler/app/server.go index 06d21a80655..3694ac803b6 100644 --- a/cmd/kube-scheduler/app/server.go +++ b/cmd/kube-scheduler/app/server.go @@ -337,7 +337,6 @@ func Setup(ctx context.Context, opts *options.Options, outOfTreeRegistryOptions scheduler.WithAlgorithmSource(cc.ComponentConfig.AlgorithmSource), scheduler.WithPreemptionDisabled(cc.ComponentConfig.DisablePreemption), scheduler.WithPercentageOfNodesToScore(cc.ComponentConfig.PercentageOfNodesToScore), - scheduler.WithBindTimeoutSeconds(cc.ComponentConfig.BindTimeoutSeconds), scheduler.WithFrameworkOutOfTreeRegistry(outOfTreeRegistry), scheduler.WithPodMaxBackoffSeconds(cc.ComponentConfig.PodMaxBackoffSeconds), scheduler.WithPodInitialBackoffSeconds(cc.ComponentConfig.PodInitialBackoffSeconds), diff --git a/pkg/scheduler/apis/config/scheme/scheme_test.go b/pkg/scheduler/apis/config/scheme/scheme_test.go index f52c1dd89ff..7de27a53c73 100644 --- a/pkg/scheduler/apis/config/scheme/scheme_test.go +++ b/pkg/scheduler/apis/config/scheme/scheme_test.go @@ -478,7 +478,6 @@ profiles: }, }, want: `apiVersion: kubescheduler.config.k8s.io/v1beta1 -bindTimeoutSeconds: 0 clientConnection: acceptContentTypes: "" burst: 0 diff --git a/pkg/scheduler/apis/config/testing/compatibility_test.go b/pkg/scheduler/apis/config/testing/compatibility_test.go index 04a8ba2f994..d709b69ae3d 100644 --- a/pkg/scheduler/apis/config/testing/compatibility_test.go +++ b/pkg/scheduler/apis/config/testing/compatibility_test.go @@ -1617,15 +1617,6 @@ func TestPluginsConfigurationCompatibility(t *testing.T) { "PostBindPlugin": {{Name: "VolumeBinding"}}, } - defaultPluginConfigs := []config.PluginConfig{ - { - Name: "VolumeBinding", - Args: &config.VolumeBindingArgs{ - BindTimeoutSeconds: 600, - }, - }, - } - testcases := []struct { name string plugins config.Plugins @@ -1636,7 +1627,7 @@ func TestPluginsConfigurationCompatibility(t *testing.T) { { name: "default plugins", wantPlugins: defaultPlugins, - wantPluginConfig: defaultPluginConfigs, + wantPluginConfig: nil, }, { name: "default plugins with customized plugin config", @@ -1967,7 +1958,7 @@ func TestPluginsConfigurationCompatibility(t *testing.T) { "BindPlugin": {{Name: "DefaultBinder"}}, "PostBindPlugin": {{Name: "VolumeBinding"}}, }, - wantPluginConfig: defaultPluginConfigs, + wantPluginConfig: nil, }, } for _, tc := range testcases { diff --git a/pkg/scheduler/apis/config/types.go b/pkg/scheduler/apis/config/types.go index 7ae8bca8325..40f5279625f 100644 --- a/pkg/scheduler/apis/config/types.go +++ b/pkg/scheduler/apis/config/types.go @@ -90,13 +90,6 @@ type KubeSchedulerConfiguration struct { // nodes will be scored. PercentageOfNodesToScore int32 - // BindTimeoutSeconds is the timeout in seconds in volume binding operation. - // Value must be non-negative integer. The value zero indicates no waiting. - // If this value is nil, the default value will be used. - // DEPRECATED: BindTimeoutSeconds in deprecated. - // TODO(#90958) Remove this and the versioned counterparts in future API versions. - BindTimeoutSeconds int64 - // PodInitialBackoffSeconds is the initial backoff for unschedulable pods. // If specified, it must be greater than 0. If this value is null, the default value (1s) // will be used. diff --git a/pkg/scheduler/apis/config/v1beta1/defaults.go b/pkg/scheduler/apis/config/v1beta1/defaults.go index 412629ad136..e23175e7eba 100644 --- a/pkg/scheduler/apis/config/v1beta1/defaults.go +++ b/pkg/scheduler/apis/config/v1beta1/defaults.go @@ -135,11 +135,6 @@ func SetDefaults_KubeSchedulerConfiguration(obj *v1beta1.KubeSchedulerConfigurat // Use the default LeaderElectionConfiguration options componentbaseconfigv1alpha1.RecommendedDefaultLeaderElectionConfiguration(&obj.LeaderElection) - if obj.BindTimeoutSeconds == nil { - val := int64(600) - obj.BindTimeoutSeconds = &val - } - if obj.PodInitialBackoffSeconds == nil { val := int64(1) obj.PodInitialBackoffSeconds = &val diff --git a/pkg/scheduler/apis/config/v1beta1/defaults_test.go b/pkg/scheduler/apis/config/v1beta1/defaults_test.go index 4fadada5411..ffa16d2216e 100644 --- a/pkg/scheduler/apis/config/v1beta1/defaults_test.go +++ b/pkg/scheduler/apis/config/v1beta1/defaults_test.go @@ -62,7 +62,6 @@ func TestSchedulerDefaults(t *testing.T) { }, DisablePreemption: pointer.BoolPtr(false), PercentageOfNodesToScore: pointer.Int32Ptr(0), - BindTimeoutSeconds: pointer.Int64Ptr(600), PodInitialBackoffSeconds: pointer.Int64Ptr(1), PodMaxBackoffSeconds: pointer.Int64Ptr(10), Profiles: []v1beta1.KubeSchedulerProfile{ @@ -104,7 +103,6 @@ func TestSchedulerDefaults(t *testing.T) { }, DisablePreemption: pointer.BoolPtr(false), PercentageOfNodesToScore: pointer.Int32Ptr(0), - BindTimeoutSeconds: pointer.Int64Ptr(600), PodInitialBackoffSeconds: pointer.Int64Ptr(1), PodMaxBackoffSeconds: pointer.Int64Ptr(10), Profiles: []v1beta1.KubeSchedulerProfile{ @@ -161,7 +159,6 @@ func TestSchedulerDefaults(t *testing.T) { }, DisablePreemption: pointer.BoolPtr(false), PercentageOfNodesToScore: pointer.Int32Ptr(0), - BindTimeoutSeconds: pointer.Int64Ptr(600), PodInitialBackoffSeconds: pointer.Int64Ptr(1), PodMaxBackoffSeconds: pointer.Int64Ptr(10), Profiles: []v1beta1.KubeSchedulerProfile{ @@ -212,7 +209,6 @@ func TestSchedulerDefaults(t *testing.T) { }, DisablePreemption: pointer.BoolPtr(false), PercentageOfNodesToScore: pointer.Int32Ptr(0), - BindTimeoutSeconds: pointer.Int64Ptr(600), PodInitialBackoffSeconds: pointer.Int64Ptr(1), PodMaxBackoffSeconds: pointer.Int64Ptr(10), Profiles: []v1beta1.KubeSchedulerProfile{ @@ -249,7 +245,6 @@ func TestSchedulerDefaults(t *testing.T) { }, DisablePreemption: pointer.BoolPtr(false), PercentageOfNodesToScore: pointer.Int32Ptr(0), - BindTimeoutSeconds: pointer.Int64Ptr(600), PodInitialBackoffSeconds: pointer.Int64Ptr(1), PodMaxBackoffSeconds: pointer.Int64Ptr(10), Profiles: []v1beta1.KubeSchedulerProfile{ diff --git a/pkg/scheduler/apis/config/validation/validation_test.go b/pkg/scheduler/apis/config/validation/validation_test.go index 539e251121c..b2a11fc9c29 100644 --- a/pkg/scheduler/apis/config/validation/validation_test.go +++ b/pkg/scheduler/apis/config/validation/validation_test.go @@ -28,7 +28,6 @@ import ( ) func TestValidateKubeSchedulerConfiguration(t *testing.T) { - testTimeout := int64(0) podInitialBackoffSeconds := int64(1) podMaxBackoffSeconds := int64(1) validConfig := &config.KubeSchedulerConfiguration{ @@ -59,7 +58,6 @@ func TestValidateKubeSchedulerConfiguration(t *testing.T) { }, PodInitialBackoffSeconds: podInitialBackoffSeconds, PodMaxBackoffSeconds: podMaxBackoffSeconds, - BindTimeoutSeconds: testTimeout, PercentageOfNodesToScore: 35, Profiles: []config.KubeSchedulerProfile{ { diff --git a/pkg/scheduler/factory.go b/pkg/scheduler/factory.go index 31fb7416ff4..e2db4e43ad2 100644 --- a/pkg/scheduler/factory.go +++ b/pkg/scheduler/factory.go @@ -48,7 +48,6 @@ import ( "k8s.io/kubernetes/pkg/scheduler/framework/plugins/defaultbinder" "k8s.io/kubernetes/pkg/scheduler/framework/plugins/noderesources" "k8s.io/kubernetes/pkg/scheduler/framework/plugins/queuesort" - "k8s.io/kubernetes/pkg/scheduler/framework/plugins/volumebinding" framework "k8s.io/kubernetes/pkg/scheduler/framework/v1alpha1" internalcache "k8s.io/kubernetes/pkg/scheduler/internal/cache" cachedebugger "k8s.io/kubernetes/pkg/scheduler/internal/cache/debugger" @@ -86,8 +85,6 @@ type Configurator struct { // percentageOfNodesToScore specifies percentage of all nodes to score in each scheduling cycle. percentageOfNodesToScore int32 - bindTimeoutSeconds int64 - podInitialBackoffSeconds int64 podMaxBackoffSeconds int64 @@ -212,26 +209,6 @@ func (c *Configurator) create() (*Scheduler, error) { }, nil } -func maybeAppendVolumeBindingArgs(plugins *schedulerapi.Plugins, pcs []schedulerapi.PluginConfig, config schedulerapi.PluginConfig) []schedulerapi.PluginConfig { - enabled := false - for _, p := range plugins.PreBind.Enabled { - if p.Name == volumebinding.Name { - enabled = true - } - } - if !enabled { - // skip if VolumeBinding is not enabled - return pcs - } - // append if not exist - for _, pc := range pcs { - if pc.Name == config.Name { - return pcs - } - } - return append(pcs, config) -} - // createFromProvider creates a scheduler from the name of a registered algorithm provider. func (c *Configurator) createFromProvider(providerName string) (*Scheduler, error) { klog.V(2).Infof("Creating scheduler from algorithm provider '%v'", providerName) @@ -247,12 +224,6 @@ func (c *Configurator) createFromProvider(providerName string) (*Scheduler, erro plugins.Append(defaultPlugins) plugins.Apply(prof.Plugins) prof.Plugins = plugins - prof.PluginConfig = maybeAppendVolumeBindingArgs(prof.Plugins, prof.PluginConfig, schedulerapi.PluginConfig{ - Name: volumebinding.Name, - Args: &schedulerapi.VolumeBindingArgs{ - BindTimeoutSeconds: c.bindTimeoutSeconds, - }, - }) } return c.create() } @@ -348,12 +319,6 @@ func (c *Configurator) createFromConfig(policy schedulerapi.Policy) (*Scheduler, // PluginConfig is ignored when using Policy. prof.PluginConfig = defPluginConfig - prof.PluginConfig = maybeAppendVolumeBindingArgs(prof.Plugins, prof.PluginConfig, schedulerapi.PluginConfig{ - Name: volumebinding.Name, - Args: &schedulerapi.VolumeBindingArgs{ - BindTimeoutSeconds: c.bindTimeoutSeconds, - }, - }) } return c.create() diff --git a/pkg/scheduler/factory_test.go b/pkg/scheduler/factory_test.go index ca20ed125a2..2fc8dcf9959 100644 --- a/pkg/scheduler/factory_test.go +++ b/pkg/scheduler/factory_test.go @@ -36,7 +36,6 @@ import ( "k8s.io/client-go/tools/events" extenderv1 "k8s.io/kube-scheduler/extender/v1" apicore "k8s.io/kubernetes/pkg/apis/core" - "k8s.io/kubernetes/pkg/scheduler/apis/config" schedulerapi "k8s.io/kubernetes/pkg/scheduler/apis/config" "k8s.io/kubernetes/pkg/scheduler/apis/config/scheme" frameworkplugins "k8s.io/kubernetes/pkg/scheduler/framework/plugins" @@ -45,7 +44,6 @@ import ( "k8s.io/kubernetes/pkg/scheduler/framework/plugins/nodelabel" "k8s.io/kubernetes/pkg/scheduler/framework/plugins/queuesort" "k8s.io/kubernetes/pkg/scheduler/framework/plugins/serviceaffinity" - "k8s.io/kubernetes/pkg/scheduler/framework/plugins/volumebinding" framework "k8s.io/kubernetes/pkg/scheduler/framework/v1alpha1" internalcache "k8s.io/kubernetes/pkg/scheduler/internal/cache" internalqueue "k8s.io/kubernetes/pkg/scheduler/internal/queue" @@ -54,7 +52,6 @@ import ( const ( disablePodPreemption = false - bindTimeoutSeconds = 600 podInitialBackoffDurationSeconds = 1 podMaxBackoffDurationSeconds = 10 testSchedulerName = "test-scheduler" @@ -242,14 +239,7 @@ func TestCreateFromEmptyConfig(t *testing.T) { t.Fatal(err) } prof := factory.profiles[0] - wantConfig := []schedulerapi.PluginConfig{ - { - Name: volumebinding.Name, - Args: &config.VolumeBindingArgs{ - BindTimeoutSeconds: bindTimeoutSeconds, - }, - }, - } + wantConfig := []schedulerapi.PluginConfig{} if diff := cmp.Diff(wantConfig, prof.PluginConfig); diff != "" { t.Errorf("wrong plugin config (-want, +got): %s", diff) } @@ -465,7 +455,6 @@ func newConfigFactoryWithFrameworkRegistry( podInformer: informerFactory.Core().V1().Pods(), disablePreemption: disablePodPreemption, percentageOfNodesToScore: schedulerapi.DefaultPercentageOfNodesToScore, - bindTimeoutSeconds: bindTimeoutSeconds, podInitialBackoffSeconds: podInitialBackoffDurationSeconds, podMaxBackoffSeconds: podMaxBackoffDurationSeconds, StopEverything: stopCh, diff --git a/pkg/scheduler/scheduler.go b/pkg/scheduler/scheduler.go index 483e4e7bbc9..23bd69ea5d1 100644 --- a/pkg/scheduler/scheduler.go +++ b/pkg/scheduler/scheduler.go @@ -41,7 +41,6 @@ import ( "k8s.io/kubernetes/pkg/scheduler/apis/config/scheme" "k8s.io/kubernetes/pkg/scheduler/core" frameworkplugins "k8s.io/kubernetes/pkg/scheduler/framework/plugins" - "k8s.io/kubernetes/pkg/scheduler/framework/plugins/volumebinding" framework "k8s.io/kubernetes/pkg/scheduler/framework/v1alpha1" internalcache "k8s.io/kubernetes/pkg/scheduler/internal/cache" internalqueue "k8s.io/kubernetes/pkg/scheduler/internal/queue" @@ -113,7 +112,6 @@ type schedulerOptions struct { schedulerAlgorithmSource schedulerapi.SchedulerAlgorithmSource disablePreemption bool percentageOfNodesToScore int32 - bindTimeoutSeconds int64 podInitialBackoffSeconds int64 podMaxBackoffSeconds int64 // Contains out-of-tree plugins to be merged with the in-tree registry. @@ -155,13 +153,6 @@ func WithPercentageOfNodesToScore(percentageOfNodesToScore int32) Option { } } -// WithBindTimeoutSeconds sets bindTimeoutSeconds for Scheduler, the default value is 100 -func WithBindTimeoutSeconds(bindTimeoutSeconds int64) Option { - return func(o *schedulerOptions) { - o.bindTimeoutSeconds = bindTimeoutSeconds - } -} - // WithFrameworkOutOfTreeRegistry sets the registry for out-of-tree plugins. Those plugins // will be appended to the default registry. func WithFrameworkOutOfTreeRegistry(registry framework.Registry) Option { @@ -211,7 +202,6 @@ var defaultSchedulerOptions = schedulerOptions{ }, disablePreemption: false, percentageOfNodesToScore: schedulerapi.DefaultPercentageOfNodesToScore, - bindTimeoutSeconds: volumebinding.DefaultBindTimeoutSeconds, podInitialBackoffSeconds: int64(internalqueue.DefaultPodInitialBackoffDuration.Seconds()), podMaxBackoffSeconds: int64(internalqueue.DefaultPodMaxBackoffDuration.Seconds()), } @@ -252,7 +242,6 @@ func New(client clientset.Interface, StopEverything: stopEverything, disablePreemption: options.disablePreemption, percentageOfNodesToScore: options.percentageOfNodesToScore, - bindTimeoutSeconds: options.bindTimeoutSeconds, podInitialBackoffSeconds: options.podInitialBackoffSeconds, podMaxBackoffSeconds: options.podMaxBackoffSeconds, profiles: append([]schedulerapi.KubeSchedulerProfile(nil), options.profiles...), diff --git a/pkg/scheduler/scheduler_test.go b/pkg/scheduler/scheduler_test.go index 529f97bfdb7..41b1b7c3cb6 100644 --- a/pkg/scheduler/scheduler_test.go +++ b/pkg/scheduler/scheduler_test.go @@ -42,14 +42,12 @@ import ( "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/client-go/informers" - "k8s.io/client-go/kubernetes/fake" clientsetfake "k8s.io/client-go/kubernetes/fake" "k8s.io/client-go/kubernetes/scheme" clienttesting "k8s.io/client-go/testing" clientcache "k8s.io/client-go/tools/cache" "k8s.io/client-go/tools/events" "k8s.io/kubernetes/pkg/controller/volume/scheduling" - "k8s.io/kubernetes/pkg/scheduler/apis/config" schedulerapi "k8s.io/kubernetes/pkg/scheduler/apis/config" "k8s.io/kubernetes/pkg/scheduler/core" "k8s.io/kubernetes/pkg/scheduler/framework/plugins/defaultbinder" @@ -1187,125 +1185,6 @@ func TestSchedulerBinding(t *testing.T) { } } -// TestInjectingPluginConfigForVolumeBinding tests injecting -// KubeSchedulerConfiguration.BindTimeoutSeconds as args for VolumeBinding if -// no plugin args is configured for it. -// TODO remove when KubeSchedulerConfiguration.BindTimeoutSeconds is eliminated -func TestInjectingPluginConfigForVolumeBinding(t *testing.T) { - defaultPluginConfigs := []config.PluginConfig{ - { - Name: "VolumeBinding", - Args: &config.VolumeBindingArgs{ - BindTimeoutSeconds: 600, - }, - }, - } - - tests := []struct { - name string - opts []Option - wantPluginConfig []config.PluginConfig - }{ - { - name: "default with provider", - wantPluginConfig: defaultPluginConfigs, - }, - { - name: "default with policy", - opts: []Option{ - WithAlgorithmSource(schedulerapi.SchedulerAlgorithmSource{ - Policy: &config.SchedulerPolicySource{}, - }), - }, - wantPluginConfig: defaultPluginConfigs, - }, - { - name: "customize BindTimeoutSeconds with provider", - opts: []Option{ - WithBindTimeoutSeconds(100), - }, - wantPluginConfig: []config.PluginConfig{ - { - Name: "VolumeBinding", - Args: &config.VolumeBindingArgs{ - BindTimeoutSeconds: 100, - }, - }, - }, - }, - { - name: "customize BindTimeoutSeconds with policy", - opts: []Option{ - WithAlgorithmSource(schedulerapi.SchedulerAlgorithmSource{ - Policy: &config.SchedulerPolicySource{}, - }), - WithBindTimeoutSeconds(100), - }, - wantPluginConfig: []config.PluginConfig{ - { - Name: "VolumeBinding", - Args: &config.VolumeBindingArgs{ - BindTimeoutSeconds: 100, - }, - }, - }, - }, - { - name: "PluginConfig is preferred", - opts: []Option{ - WithBindTimeoutSeconds(100), - WithProfiles(config.KubeSchedulerProfile{ - SchedulerName: v1.DefaultSchedulerName, - PluginConfig: []config.PluginConfig{ - { - Name: "VolumeBinding", - Args: &config.VolumeBindingArgs{ - BindTimeoutSeconds: 200, - }, - }, - }, - }), - }, - wantPluginConfig: []config.PluginConfig{ - { - Name: "VolumeBinding", - Args: &config.VolumeBindingArgs{ - BindTimeoutSeconds: 200, - }, - }, - }, - }, - } - - for _, tt := range tests { - client := fake.NewSimpleClientset() - informerFactory := informers.NewSharedInformerFactory(client, 0) - recorderFactory := profile.NewRecorderFactory(events.NewBroadcaster(&events.EventSinkImpl{Interface: client.EventsV1beta1().Events("")})) - - opts := append(tt.opts, WithBuildFrameworkCapturer(func(p config.KubeSchedulerProfile) { - if p.SchedulerName != v1.DefaultSchedulerName { - t.Errorf("unexpected scheduler name (want %q, got %q)", v1.DefaultSchedulerName, p.SchedulerName) - } - if diff := cmp.Diff(tt.wantPluginConfig, p.PluginConfig); diff != "" { - t.Errorf("unexpected plugins diff (-want, +got): %s", diff) - } - })) - - _, err := New( - client, - informerFactory, - informerFactory.Core().V1().Pods(), - recorderFactory, - make(chan struct{}), - opts..., - ) - - if err != nil { - t.Fatalf("Error constructing: %v", err) - } - } -} - func TestRemoveNominatedNodeName(t *testing.T) { tests := []struct { name string diff --git a/staging/src/k8s.io/kube-scheduler/config/v1beta1/types.go b/staging/src/k8s.io/kube-scheduler/config/v1beta1/types.go index 4ff27eff003..2a272c6629f 100644 --- a/staging/src/k8s.io/kube-scheduler/config/v1beta1/types.go +++ b/staging/src/k8s.io/kube-scheduler/config/v1beta1/types.go @@ -74,13 +74,6 @@ type KubeSchedulerConfiguration struct { // nodes will be scored. PercentageOfNodesToScore *int32 `json:"percentageOfNodesToScore,omitempty"` - // Duration to wait for a binding operation to complete before timing out - // Value must be non-negative integer. The value zero indicates no waiting. - // If this value is nil, the default value will be used. - // DEPRECATED: BindTimeoutSeconds is deprecated. To change volume bind - // timeout, configure via plugin args for VolumeBinding. - BindTimeoutSeconds *int64 `json:"bindTimeoutSeconds,omitempty"` - // PodInitialBackoffSeconds is the initial backoff for unschedulable pods. // If specified, it must be greater than 0. If this value is null, the default value (1s) // will be used. diff --git a/test/integration/scheduler/scheduler_test.go b/test/integration/scheduler/scheduler_test.go index fdd156034ed..0d54870d7c7 100644 --- a/test/integration/scheduler/scheduler_test.go +++ b/test/integration/scheduler/scheduler_test.go @@ -274,8 +274,6 @@ priorities: [] stopCh := make(chan struct{}) eventBroadcaster.StartRecordingToSink(stopCh) - defaultBindTimeout := int64(30) - sched, err := scheduler.New(clientSet, informerFactory, scheduler.NewPodInformer(clientSet, 0), @@ -289,7 +287,17 @@ priorities: [] }, }, }), - scheduler.WithBindTimeoutSeconds(defaultBindTimeout), + scheduler.WithProfiles(kubeschedulerconfig.KubeSchedulerProfile{ + SchedulerName: v1.DefaultSchedulerName, + PluginConfig: []kubeschedulerconfig.PluginConfig{ + { + Name: "VolumeBinding", + Args: &kubeschedulerconfig.VolumeBindingArgs{ + BindTimeoutSeconds: 30, + }, + }, + }, + }), ) if err != nil { t.Fatalf("couldn't make scheduler config for test %d: %v", i, err) @@ -320,8 +328,6 @@ func TestSchedulerCreationFromNonExistentConfigMap(t *testing.T) { stopCh := make(chan struct{}) eventBroadcaster.StartRecordingToSink(stopCh) - defaultBindTimeout := int64(30) - _, err := scheduler.New(clientSet, informerFactory, scheduler.NewPodInformer(clientSet, 0), @@ -335,7 +341,18 @@ func TestSchedulerCreationFromNonExistentConfigMap(t *testing.T) { }, }, }), - scheduler.WithBindTimeoutSeconds(defaultBindTimeout)) + scheduler.WithProfiles(kubeschedulerconfig.KubeSchedulerProfile{ + SchedulerName: v1.DefaultSchedulerName, + PluginConfig: []kubeschedulerconfig.PluginConfig{ + { + Name: "VolumeBinding", + Args: &kubeschedulerconfig.VolumeBindingArgs{ + BindTimeoutSeconds: 30, + }, + }, + }, + }), + ) if err == nil { t.Fatalf("Creation of scheduler didn't fail while the policy ConfigMap didn't exist.") diff --git a/test/integration/util/util.go b/test/integration/util/util.go index 92f7a80116d..8a9d0533a65 100644 --- a/test/integration/util/util.go +++ b/test/integration/util/util.go @@ -391,7 +391,6 @@ func InitTestSchedulerWithOptions( if policy != nil { opts = append(opts, scheduler.WithAlgorithmSource(CreateAlgorithmSourceFromPolicy(policy, testCtx.ClientSet))) } - opts = append([]scheduler.Option{scheduler.WithBindTimeoutSeconds(600)}, opts...) testCtx.Scheduler, err = scheduler.New( testCtx.ClientSet, testCtx.InformerFactory,