mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-31 07:20:13 +00:00
Merge pull request #87999 from damemi/deprecate-algo-source
Deprecate scheduler AlgorithmSource from v1alpha2 ComponentConfig
This commit is contained in:
commit
09edbcdeb5
@ -47,6 +47,8 @@ type KubeSchedulerConfiguration struct {
|
|||||||
metav1.TypeMeta
|
metav1.TypeMeta
|
||||||
|
|
||||||
// AlgorithmSource specifies the scheduler algorithm source.
|
// AlgorithmSource specifies the scheduler algorithm source.
|
||||||
|
// TODO(#87526): Remove AlgorithmSource from this package
|
||||||
|
// DEPRECATED: AlgorithmSource is removed in the v1alpha2 ComponentConfig
|
||||||
AlgorithmSource SchedulerAlgorithmSource
|
AlgorithmSource SchedulerAlgorithmSource
|
||||||
|
|
||||||
// LeaderElection defines the configuration of leader election client.
|
// LeaderElection defines the configuration of leader election client.
|
||||||
|
@ -3,6 +3,7 @@ load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
|
|||||||
go_library(
|
go_library(
|
||||||
name = "go_default_library",
|
name = "go_default_library",
|
||||||
srcs = [
|
srcs = [
|
||||||
|
"conversion.go",
|
||||||
"defaults.go",
|
"defaults.go",
|
||||||
"doc.go",
|
"doc.go",
|
||||||
"register.go",
|
"register.go",
|
||||||
@ -27,10 +28,15 @@ go_library(
|
|||||||
|
|
||||||
go_test(
|
go_test(
|
||||||
name = "go_default_test",
|
name = "go_default_test",
|
||||||
srcs = ["defaults_test.go"],
|
srcs = [
|
||||||
|
"conversion_test.go",
|
||||||
|
"defaults_test.go",
|
||||||
|
],
|
||||||
embed = [":go_default_library"],
|
embed = [":go_default_library"],
|
||||||
deps = [
|
deps = [
|
||||||
|
"//pkg/scheduler/apis/config:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
||||||
"//staging/src/k8s.io/component-base/config/v1alpha1:go_default_library",
|
"//staging/src/k8s.io/component-base/config/v1alpha1:go_default_library",
|
||||||
"//staging/src/k8s.io/kube-scheduler/config/v1alpha2:go_default_library",
|
"//staging/src/k8s.io/kube-scheduler/config/v1alpha2:go_default_library",
|
||||||
"//vendor/github.com/google/go-cmp/cmp:go_default_library",
|
"//vendor/github.com/google/go-cmp/cmp:go_default_library",
|
||||||
|
36
pkg/scheduler/apis/config/v1alpha2/conversion.go
Normal file
36
pkg/scheduler/apis/config/v1alpha2/conversion.go
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2020 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package v1alpha2
|
||||||
|
|
||||||
|
import (
|
||||||
|
conversion "k8s.io/apimachinery/pkg/conversion"
|
||||||
|
v1alpha2 "k8s.io/kube-scheduler/config/v1alpha2"
|
||||||
|
"k8s.io/kubernetes/pkg/scheduler/apis/config"
|
||||||
|
"k8s.io/utils/pointer"
|
||||||
|
)
|
||||||
|
|
||||||
|
func Convert_v1alpha2_KubeSchedulerConfiguration_To_config_KubeSchedulerConfiguration(in *v1alpha2.KubeSchedulerConfiguration, out *config.KubeSchedulerConfiguration, s conversion.Scope) error {
|
||||||
|
if err := autoConvert_v1alpha2_KubeSchedulerConfiguration_To_config_KubeSchedulerConfiguration(in, out, s); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
out.AlgorithmSource.Provider = pointer.StringPtr(v1alpha2.SchedulerDefaultProviderName)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func Convert_config_KubeSchedulerConfiguration_To_v1alpha2_KubeSchedulerConfiguration(in *config.KubeSchedulerConfiguration, out *v1alpha2.KubeSchedulerConfiguration, s conversion.Scope) error {
|
||||||
|
return autoConvert_config_KubeSchedulerConfiguration_To_v1alpha2_KubeSchedulerConfiguration(in, out, s)
|
||||||
|
}
|
58
pkg/scheduler/apis/config/v1alpha2/conversion_test.go
Normal file
58
pkg/scheduler/apis/config/v1alpha2/conversion_test.go
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2020 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package v1alpha2
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/google/go-cmp/cmp"
|
||||||
|
|
||||||
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
|
"k8s.io/kube-scheduler/config/v1alpha2"
|
||||||
|
"k8s.io/kubernetes/pkg/scheduler/apis/config"
|
||||||
|
"k8s.io/utils/pointer"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestV1alpha2ToConfigKubeSchedulerConfigurationConversion(t *testing.T) {
|
||||||
|
cases := []struct {
|
||||||
|
name string
|
||||||
|
config v1alpha2.KubeSchedulerConfiguration
|
||||||
|
expected config.KubeSchedulerConfiguration
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "default conversion v1alpha2 to config",
|
||||||
|
config: v1alpha2.KubeSchedulerConfiguration{},
|
||||||
|
expected: config.KubeSchedulerConfiguration{AlgorithmSource: config.SchedulerAlgorithmSource{Provider: pointer.StringPtr(v1alpha2.SchedulerDefaultProviderName)}},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
scheme := runtime.NewScheme()
|
||||||
|
if err := AddToScheme(scheme); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
for _, tc := range cases {
|
||||||
|
t.Run(tc.name, func(t *testing.T) {
|
||||||
|
var out config.KubeSchedulerConfiguration
|
||||||
|
if err := scheme.Convert(&tc.config, &out, nil); err != nil {
|
||||||
|
t.Errorf("failed to convert: %+v", err)
|
||||||
|
}
|
||||||
|
if diff := cmp.Diff(tc.expected, out); diff != "" {
|
||||||
|
t.Errorf("unexpected conversion (-want, +got):\n%s", diff)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
@ -46,18 +46,6 @@ func SetDefaults_KubeSchedulerConfiguration(obj *v1alpha2.KubeSchedulerConfigura
|
|||||||
obj.Profiles[0].SchedulerName = pointer.StringPtr(api.DefaultSchedulerName)
|
obj.Profiles[0].SchedulerName = pointer.StringPtr(api.DefaultSchedulerName)
|
||||||
}
|
}
|
||||||
|
|
||||||
if obj.AlgorithmSource.Policy == nil &&
|
|
||||||
(obj.AlgorithmSource.Provider == nil || len(*obj.AlgorithmSource.Provider) == 0) {
|
|
||||||
val := v1alpha2.SchedulerDefaultProviderName
|
|
||||||
obj.AlgorithmSource.Provider = &val
|
|
||||||
}
|
|
||||||
|
|
||||||
if policy := obj.AlgorithmSource.Policy; policy != nil {
|
|
||||||
if policy.ConfigMap != nil && len(policy.ConfigMap.Namespace) == 0 {
|
|
||||||
obj.AlgorithmSource.Policy.ConfigMap.Namespace = api.NamespaceSystem
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// For Healthz and Metrics bind addresses, we want to check:
|
// For Healthz and Metrics bind addresses, we want to check:
|
||||||
// 1. If the value is nil, default to 0.0.0.0 and default scheduler port
|
// 1. If the value is nil, default to 0.0.0.0 and default scheduler port
|
||||||
// 2. If there is a value set, attempt to split it. If it's just a port (ie, ":1234"), default to 0.0.0.0 with that port
|
// 2. If there is a value set, attempt to split it. If it's just a port (ie, ":1234"), default to 0.0.0.0 with that port
|
||||||
|
@ -38,7 +38,6 @@ func TestSchedulerDefaults(t *testing.T) {
|
|||||||
name: "empty config",
|
name: "empty config",
|
||||||
config: &v1alpha2.KubeSchedulerConfiguration{},
|
config: &v1alpha2.KubeSchedulerConfiguration{},
|
||||||
expected: &v1alpha2.KubeSchedulerConfiguration{
|
expected: &v1alpha2.KubeSchedulerConfiguration{
|
||||||
AlgorithmSource: v1alpha2.SchedulerAlgorithmSource{Provider: pointer.StringPtr("DefaultProvider")},
|
|
||||||
HealthzBindAddress: pointer.StringPtr("0.0.0.0:10251"),
|
HealthzBindAddress: pointer.StringPtr("0.0.0.0:10251"),
|
||||||
MetricsBindAddress: pointer.StringPtr("0.0.0.0:10251"),
|
MetricsBindAddress: pointer.StringPtr("0.0.0.0:10251"),
|
||||||
DebuggingConfiguration: componentbaseconfig.DebuggingConfiguration{
|
DebuggingConfiguration: componentbaseconfig.DebuggingConfiguration{
|
||||||
@ -83,7 +82,6 @@ func TestSchedulerDefaults(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
expected: &v1alpha2.KubeSchedulerConfiguration{
|
expected: &v1alpha2.KubeSchedulerConfiguration{
|
||||||
AlgorithmSource: v1alpha2.SchedulerAlgorithmSource{Provider: pointer.StringPtr("DefaultProvider")},
|
|
||||||
HealthzBindAddress: pointer.StringPtr("0.0.0.0:10251"),
|
HealthzBindAddress: pointer.StringPtr("0.0.0.0:10251"),
|
||||||
MetricsBindAddress: pointer.StringPtr("0.0.0.0:10251"),
|
MetricsBindAddress: pointer.StringPtr("0.0.0.0:10251"),
|
||||||
DebuggingConfiguration: componentbaseconfig.DebuggingConfiguration{
|
DebuggingConfiguration: componentbaseconfig.DebuggingConfiguration{
|
||||||
@ -143,7 +141,6 @@ func TestSchedulerDefaults(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
expected: &v1alpha2.KubeSchedulerConfiguration{
|
expected: &v1alpha2.KubeSchedulerConfiguration{
|
||||||
AlgorithmSource: v1alpha2.SchedulerAlgorithmSource{Provider: pointer.StringPtr("DefaultProvider")},
|
|
||||||
HealthzBindAddress: pointer.StringPtr("0.0.0.0:10251"),
|
HealthzBindAddress: pointer.StringPtr("0.0.0.0:10251"),
|
||||||
MetricsBindAddress: pointer.StringPtr("0.0.0.0:10251"),
|
MetricsBindAddress: pointer.StringPtr("0.0.0.0:10251"),
|
||||||
DebuggingConfiguration: componentbaseconfig.DebuggingConfiguration{
|
DebuggingConfiguration: componentbaseconfig.DebuggingConfiguration{
|
||||||
@ -197,7 +194,6 @@ func TestSchedulerDefaults(t *testing.T) {
|
|||||||
HealthzBindAddress: pointer.StringPtr("1.2.3.4"),
|
HealthzBindAddress: pointer.StringPtr("1.2.3.4"),
|
||||||
},
|
},
|
||||||
expected: &v1alpha2.KubeSchedulerConfiguration{
|
expected: &v1alpha2.KubeSchedulerConfiguration{
|
||||||
AlgorithmSource: v1alpha2.SchedulerAlgorithmSource{Provider: pointer.StringPtr("DefaultProvider")},
|
|
||||||
HealthzBindAddress: pointer.StringPtr("1.2.3.4:10251"),
|
HealthzBindAddress: pointer.StringPtr("1.2.3.4:10251"),
|
||||||
MetricsBindAddress: pointer.StringPtr("1.2.3.4:10251"),
|
MetricsBindAddress: pointer.StringPtr("1.2.3.4:10251"),
|
||||||
DebuggingConfiguration: componentbaseconfig.DebuggingConfiguration{
|
DebuggingConfiguration: componentbaseconfig.DebuggingConfiguration{
|
||||||
@ -237,7 +233,6 @@ func TestSchedulerDefaults(t *testing.T) {
|
|||||||
HealthzBindAddress: pointer.StringPtr(":12345"),
|
HealthzBindAddress: pointer.StringPtr(":12345"),
|
||||||
},
|
},
|
||||||
expected: &v1alpha2.KubeSchedulerConfiguration{
|
expected: &v1alpha2.KubeSchedulerConfiguration{
|
||||||
AlgorithmSource: v1alpha2.SchedulerAlgorithmSource{Provider: pointer.StringPtr("DefaultProvider")},
|
|
||||||
HealthzBindAddress: pointer.StringPtr("0.0.0.0:12345"),
|
HealthzBindAddress: pointer.StringPtr("0.0.0.0:12345"),
|
||||||
MetricsBindAddress: pointer.StringPtr("0.0.0.0:12345"),
|
MetricsBindAddress: pointer.StringPtr("0.0.0.0:12345"),
|
||||||
DebuggingConfiguration: componentbaseconfig.DebuggingConfiguration{
|
DebuggingConfiguration: componentbaseconfig.DebuggingConfiguration{
|
||||||
|
@ -38,16 +38,6 @@ func init() {
|
|||||||
// RegisterConversions adds conversion functions to the given scheme.
|
// RegisterConversions adds conversion functions to the given scheme.
|
||||||
// Public to allow building arbitrary schemes.
|
// Public to allow building arbitrary schemes.
|
||||||
func RegisterConversions(s *runtime.Scheme) error {
|
func RegisterConversions(s *runtime.Scheme) error {
|
||||||
if err := s.AddGeneratedConversionFunc((*v1alpha2.KubeSchedulerConfiguration)(nil), (*config.KubeSchedulerConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
|
||||||
return Convert_v1alpha2_KubeSchedulerConfiguration_To_config_KubeSchedulerConfiguration(a.(*v1alpha2.KubeSchedulerConfiguration), b.(*config.KubeSchedulerConfiguration), scope)
|
|
||||||
}); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := s.AddGeneratedConversionFunc((*config.KubeSchedulerConfiguration)(nil), (*v1alpha2.KubeSchedulerConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
|
||||||
return Convert_config_KubeSchedulerConfiguration_To_v1alpha2_KubeSchedulerConfiguration(a.(*config.KubeSchedulerConfiguration), b.(*v1alpha2.KubeSchedulerConfiguration), scope)
|
|
||||||
}); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := s.AddGeneratedConversionFunc((*v1alpha2.KubeSchedulerLeaderElectionConfiguration)(nil), (*config.KubeSchedulerLeaderElectionConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
if err := s.AddGeneratedConversionFunc((*v1alpha2.KubeSchedulerLeaderElectionConfiguration)(nil), (*config.KubeSchedulerLeaderElectionConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
return Convert_v1alpha2_KubeSchedulerLeaderElectionConfiguration_To_config_KubeSchedulerLeaderElectionConfiguration(a.(*v1alpha2.KubeSchedulerLeaderElectionConfiguration), b.(*config.KubeSchedulerLeaderElectionConfiguration), scope)
|
return Convert_v1alpha2_KubeSchedulerLeaderElectionConfiguration_To_config_KubeSchedulerLeaderElectionConfiguration(a.(*v1alpha2.KubeSchedulerLeaderElectionConfiguration), b.(*config.KubeSchedulerLeaderElectionConfiguration), scope)
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
@ -108,43 +98,13 @@ func RegisterConversions(s *runtime.Scheme) error {
|
|||||||
}); err != nil {
|
}); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if err := s.AddGeneratedConversionFunc((*v1alpha2.SchedulerAlgorithmSource)(nil), (*config.SchedulerAlgorithmSource)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
if err := s.AddConversionFunc((*config.KubeSchedulerConfiguration)(nil), (*v1alpha2.KubeSchedulerConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
return Convert_v1alpha2_SchedulerAlgorithmSource_To_config_SchedulerAlgorithmSource(a.(*v1alpha2.SchedulerAlgorithmSource), b.(*config.SchedulerAlgorithmSource), scope)
|
return Convert_config_KubeSchedulerConfiguration_To_v1alpha2_KubeSchedulerConfiguration(a.(*config.KubeSchedulerConfiguration), b.(*v1alpha2.KubeSchedulerConfiguration), scope)
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if err := s.AddGeneratedConversionFunc((*config.SchedulerAlgorithmSource)(nil), (*v1alpha2.SchedulerAlgorithmSource)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
if err := s.AddConversionFunc((*v1alpha2.KubeSchedulerConfiguration)(nil), (*config.KubeSchedulerConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
return Convert_config_SchedulerAlgorithmSource_To_v1alpha2_SchedulerAlgorithmSource(a.(*config.SchedulerAlgorithmSource), b.(*v1alpha2.SchedulerAlgorithmSource), scope)
|
return Convert_v1alpha2_KubeSchedulerConfiguration_To_config_KubeSchedulerConfiguration(a.(*v1alpha2.KubeSchedulerConfiguration), b.(*config.KubeSchedulerConfiguration), scope)
|
||||||
}); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := s.AddGeneratedConversionFunc((*v1alpha2.SchedulerPolicyConfigMapSource)(nil), (*config.SchedulerPolicyConfigMapSource)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
|
||||||
return Convert_v1alpha2_SchedulerPolicyConfigMapSource_To_config_SchedulerPolicyConfigMapSource(a.(*v1alpha2.SchedulerPolicyConfigMapSource), b.(*config.SchedulerPolicyConfigMapSource), scope)
|
|
||||||
}); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := s.AddGeneratedConversionFunc((*config.SchedulerPolicyConfigMapSource)(nil), (*v1alpha2.SchedulerPolicyConfigMapSource)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
|
||||||
return Convert_config_SchedulerPolicyConfigMapSource_To_v1alpha2_SchedulerPolicyConfigMapSource(a.(*config.SchedulerPolicyConfigMapSource), b.(*v1alpha2.SchedulerPolicyConfigMapSource), scope)
|
|
||||||
}); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := s.AddGeneratedConversionFunc((*v1alpha2.SchedulerPolicyFileSource)(nil), (*config.SchedulerPolicyFileSource)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
|
||||||
return Convert_v1alpha2_SchedulerPolicyFileSource_To_config_SchedulerPolicyFileSource(a.(*v1alpha2.SchedulerPolicyFileSource), b.(*config.SchedulerPolicyFileSource), scope)
|
|
||||||
}); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := s.AddGeneratedConversionFunc((*config.SchedulerPolicyFileSource)(nil), (*v1alpha2.SchedulerPolicyFileSource)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
|
||||||
return Convert_config_SchedulerPolicyFileSource_To_v1alpha2_SchedulerPolicyFileSource(a.(*config.SchedulerPolicyFileSource), b.(*v1alpha2.SchedulerPolicyFileSource), scope)
|
|
||||||
}); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := s.AddGeneratedConversionFunc((*v1alpha2.SchedulerPolicySource)(nil), (*config.SchedulerPolicySource)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
|
||||||
return Convert_v1alpha2_SchedulerPolicySource_To_config_SchedulerPolicySource(a.(*v1alpha2.SchedulerPolicySource), b.(*config.SchedulerPolicySource), scope)
|
|
||||||
}); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := s.AddGeneratedConversionFunc((*config.SchedulerPolicySource)(nil), (*v1alpha2.SchedulerPolicySource)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
|
||||||
return Convert_config_SchedulerPolicySource_To_v1alpha2_SchedulerPolicySource(a.(*config.SchedulerPolicySource), b.(*v1alpha2.SchedulerPolicySource), scope)
|
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -152,9 +112,6 @@ func RegisterConversions(s *runtime.Scheme) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func autoConvert_v1alpha2_KubeSchedulerConfiguration_To_config_KubeSchedulerConfiguration(in *v1alpha2.KubeSchedulerConfiguration, out *config.KubeSchedulerConfiguration, s conversion.Scope) error {
|
func autoConvert_v1alpha2_KubeSchedulerConfiguration_To_config_KubeSchedulerConfiguration(in *v1alpha2.KubeSchedulerConfiguration, out *config.KubeSchedulerConfiguration, s conversion.Scope) error {
|
||||||
if err := Convert_v1alpha2_SchedulerAlgorithmSource_To_config_SchedulerAlgorithmSource(&in.AlgorithmSource, &out.AlgorithmSource, s); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := Convert_v1alpha2_KubeSchedulerLeaderElectionConfiguration_To_config_KubeSchedulerLeaderElectionConfiguration(&in.LeaderElection, &out.LeaderElection, s); err != nil {
|
if err := Convert_v1alpha2_KubeSchedulerLeaderElectionConfiguration_To_config_KubeSchedulerLeaderElectionConfiguration(&in.LeaderElection, &out.LeaderElection, s); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -199,15 +156,8 @@ func autoConvert_v1alpha2_KubeSchedulerConfiguration_To_config_KubeSchedulerConf
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert_v1alpha2_KubeSchedulerConfiguration_To_config_KubeSchedulerConfiguration is an autogenerated conversion function.
|
|
||||||
func Convert_v1alpha2_KubeSchedulerConfiguration_To_config_KubeSchedulerConfiguration(in *v1alpha2.KubeSchedulerConfiguration, out *config.KubeSchedulerConfiguration, s conversion.Scope) error {
|
|
||||||
return autoConvert_v1alpha2_KubeSchedulerConfiguration_To_config_KubeSchedulerConfiguration(in, out, s)
|
|
||||||
}
|
|
||||||
|
|
||||||
func autoConvert_config_KubeSchedulerConfiguration_To_v1alpha2_KubeSchedulerConfiguration(in *config.KubeSchedulerConfiguration, out *v1alpha2.KubeSchedulerConfiguration, s conversion.Scope) error {
|
func autoConvert_config_KubeSchedulerConfiguration_To_v1alpha2_KubeSchedulerConfiguration(in *config.KubeSchedulerConfiguration, out *v1alpha2.KubeSchedulerConfiguration, s conversion.Scope) error {
|
||||||
if err := Convert_config_SchedulerAlgorithmSource_To_v1alpha2_SchedulerAlgorithmSource(&in.AlgorithmSource, &out.AlgorithmSource, s); err != nil {
|
// WARNING: in.AlgorithmSource requires manual conversion: does not exist in peer-type
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := Convert_config_KubeSchedulerLeaderElectionConfiguration_To_v1alpha2_KubeSchedulerLeaderElectionConfiguration(&in.LeaderElection, &out.LeaderElection, s); err != nil {
|
if err := Convert_config_KubeSchedulerLeaderElectionConfiguration_To_v1alpha2_KubeSchedulerLeaderElectionConfiguration(&in.LeaderElection, &out.LeaderElection, s); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -252,11 +202,6 @@ func autoConvert_config_KubeSchedulerConfiguration_To_v1alpha2_KubeSchedulerConf
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert_config_KubeSchedulerConfiguration_To_v1alpha2_KubeSchedulerConfiguration is an autogenerated conversion function.
|
|
||||||
func Convert_config_KubeSchedulerConfiguration_To_v1alpha2_KubeSchedulerConfiguration(in *config.KubeSchedulerConfiguration, out *v1alpha2.KubeSchedulerConfiguration, s conversion.Scope) error {
|
|
||||||
return autoConvert_config_KubeSchedulerConfiguration_To_v1alpha2_KubeSchedulerConfiguration(in, out, s)
|
|
||||||
}
|
|
||||||
|
|
||||||
func autoConvert_v1alpha2_KubeSchedulerLeaderElectionConfiguration_To_config_KubeSchedulerLeaderElectionConfiguration(in *v1alpha2.KubeSchedulerLeaderElectionConfiguration, out *config.KubeSchedulerLeaderElectionConfiguration, s conversion.Scope) error {
|
func autoConvert_v1alpha2_KubeSchedulerLeaderElectionConfiguration_To_config_KubeSchedulerLeaderElectionConfiguration(in *v1alpha2.KubeSchedulerLeaderElectionConfiguration, out *config.KubeSchedulerLeaderElectionConfiguration, s conversion.Scope) error {
|
||||||
if err := v1alpha1.Convert_v1alpha1_LeaderElectionConfiguration_To_config_LeaderElectionConfiguration(&in.LeaderElectionConfiguration, &out.LeaderElectionConfiguration, s); err != nil {
|
if err := v1alpha1.Convert_v1alpha1_LeaderElectionConfiguration_To_config_LeaderElectionConfiguration(&in.LeaderElectionConfiguration, &out.LeaderElectionConfiguration, s); err != nil {
|
||||||
return err
|
return err
|
||||||
@ -650,89 +595,3 @@ func autoConvert_config_Plugins_To_v1alpha2_Plugins(in *config.Plugins, out *v1a
|
|||||||
func Convert_config_Plugins_To_v1alpha2_Plugins(in *config.Plugins, out *v1alpha2.Plugins, s conversion.Scope) error {
|
func Convert_config_Plugins_To_v1alpha2_Plugins(in *config.Plugins, out *v1alpha2.Plugins, s conversion.Scope) error {
|
||||||
return autoConvert_config_Plugins_To_v1alpha2_Plugins(in, out, s)
|
return autoConvert_config_Plugins_To_v1alpha2_Plugins(in, out, s)
|
||||||
}
|
}
|
||||||
|
|
||||||
func autoConvert_v1alpha2_SchedulerAlgorithmSource_To_config_SchedulerAlgorithmSource(in *v1alpha2.SchedulerAlgorithmSource, out *config.SchedulerAlgorithmSource, s conversion.Scope) error {
|
|
||||||
out.Policy = (*config.SchedulerPolicySource)(unsafe.Pointer(in.Policy))
|
|
||||||
out.Provider = (*string)(unsafe.Pointer(in.Provider))
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Convert_v1alpha2_SchedulerAlgorithmSource_To_config_SchedulerAlgorithmSource is an autogenerated conversion function.
|
|
||||||
func Convert_v1alpha2_SchedulerAlgorithmSource_To_config_SchedulerAlgorithmSource(in *v1alpha2.SchedulerAlgorithmSource, out *config.SchedulerAlgorithmSource, s conversion.Scope) error {
|
|
||||||
return autoConvert_v1alpha2_SchedulerAlgorithmSource_To_config_SchedulerAlgorithmSource(in, out, s)
|
|
||||||
}
|
|
||||||
|
|
||||||
func autoConvert_config_SchedulerAlgorithmSource_To_v1alpha2_SchedulerAlgorithmSource(in *config.SchedulerAlgorithmSource, out *v1alpha2.SchedulerAlgorithmSource, s conversion.Scope) error {
|
|
||||||
out.Policy = (*v1alpha2.SchedulerPolicySource)(unsafe.Pointer(in.Policy))
|
|
||||||
out.Provider = (*string)(unsafe.Pointer(in.Provider))
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Convert_config_SchedulerAlgorithmSource_To_v1alpha2_SchedulerAlgorithmSource is an autogenerated conversion function.
|
|
||||||
func Convert_config_SchedulerAlgorithmSource_To_v1alpha2_SchedulerAlgorithmSource(in *config.SchedulerAlgorithmSource, out *v1alpha2.SchedulerAlgorithmSource, s conversion.Scope) error {
|
|
||||||
return autoConvert_config_SchedulerAlgorithmSource_To_v1alpha2_SchedulerAlgorithmSource(in, out, s)
|
|
||||||
}
|
|
||||||
|
|
||||||
func autoConvert_v1alpha2_SchedulerPolicyConfigMapSource_To_config_SchedulerPolicyConfigMapSource(in *v1alpha2.SchedulerPolicyConfigMapSource, out *config.SchedulerPolicyConfigMapSource, s conversion.Scope) error {
|
|
||||||
out.Namespace = in.Namespace
|
|
||||||
out.Name = in.Name
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Convert_v1alpha2_SchedulerPolicyConfigMapSource_To_config_SchedulerPolicyConfigMapSource is an autogenerated conversion function.
|
|
||||||
func Convert_v1alpha2_SchedulerPolicyConfigMapSource_To_config_SchedulerPolicyConfigMapSource(in *v1alpha2.SchedulerPolicyConfigMapSource, out *config.SchedulerPolicyConfigMapSource, s conversion.Scope) error {
|
|
||||||
return autoConvert_v1alpha2_SchedulerPolicyConfigMapSource_To_config_SchedulerPolicyConfigMapSource(in, out, s)
|
|
||||||
}
|
|
||||||
|
|
||||||
func autoConvert_config_SchedulerPolicyConfigMapSource_To_v1alpha2_SchedulerPolicyConfigMapSource(in *config.SchedulerPolicyConfigMapSource, out *v1alpha2.SchedulerPolicyConfigMapSource, s conversion.Scope) error {
|
|
||||||
out.Namespace = in.Namespace
|
|
||||||
out.Name = in.Name
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Convert_config_SchedulerPolicyConfigMapSource_To_v1alpha2_SchedulerPolicyConfigMapSource is an autogenerated conversion function.
|
|
||||||
func Convert_config_SchedulerPolicyConfigMapSource_To_v1alpha2_SchedulerPolicyConfigMapSource(in *config.SchedulerPolicyConfigMapSource, out *v1alpha2.SchedulerPolicyConfigMapSource, s conversion.Scope) error {
|
|
||||||
return autoConvert_config_SchedulerPolicyConfigMapSource_To_v1alpha2_SchedulerPolicyConfigMapSource(in, out, s)
|
|
||||||
}
|
|
||||||
|
|
||||||
func autoConvert_v1alpha2_SchedulerPolicyFileSource_To_config_SchedulerPolicyFileSource(in *v1alpha2.SchedulerPolicyFileSource, out *config.SchedulerPolicyFileSource, s conversion.Scope) error {
|
|
||||||
out.Path = in.Path
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Convert_v1alpha2_SchedulerPolicyFileSource_To_config_SchedulerPolicyFileSource is an autogenerated conversion function.
|
|
||||||
func Convert_v1alpha2_SchedulerPolicyFileSource_To_config_SchedulerPolicyFileSource(in *v1alpha2.SchedulerPolicyFileSource, out *config.SchedulerPolicyFileSource, s conversion.Scope) error {
|
|
||||||
return autoConvert_v1alpha2_SchedulerPolicyFileSource_To_config_SchedulerPolicyFileSource(in, out, s)
|
|
||||||
}
|
|
||||||
|
|
||||||
func autoConvert_config_SchedulerPolicyFileSource_To_v1alpha2_SchedulerPolicyFileSource(in *config.SchedulerPolicyFileSource, out *v1alpha2.SchedulerPolicyFileSource, s conversion.Scope) error {
|
|
||||||
out.Path = in.Path
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Convert_config_SchedulerPolicyFileSource_To_v1alpha2_SchedulerPolicyFileSource is an autogenerated conversion function.
|
|
||||||
func Convert_config_SchedulerPolicyFileSource_To_v1alpha2_SchedulerPolicyFileSource(in *config.SchedulerPolicyFileSource, out *v1alpha2.SchedulerPolicyFileSource, s conversion.Scope) error {
|
|
||||||
return autoConvert_config_SchedulerPolicyFileSource_To_v1alpha2_SchedulerPolicyFileSource(in, out, s)
|
|
||||||
}
|
|
||||||
|
|
||||||
func autoConvert_v1alpha2_SchedulerPolicySource_To_config_SchedulerPolicySource(in *v1alpha2.SchedulerPolicySource, out *config.SchedulerPolicySource, s conversion.Scope) error {
|
|
||||||
out.File = (*config.SchedulerPolicyFileSource)(unsafe.Pointer(in.File))
|
|
||||||
out.ConfigMap = (*config.SchedulerPolicyConfigMapSource)(unsafe.Pointer(in.ConfigMap))
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Convert_v1alpha2_SchedulerPolicySource_To_config_SchedulerPolicySource is an autogenerated conversion function.
|
|
||||||
func Convert_v1alpha2_SchedulerPolicySource_To_config_SchedulerPolicySource(in *v1alpha2.SchedulerPolicySource, out *config.SchedulerPolicySource, s conversion.Scope) error {
|
|
||||||
return autoConvert_v1alpha2_SchedulerPolicySource_To_config_SchedulerPolicySource(in, out, s)
|
|
||||||
}
|
|
||||||
|
|
||||||
func autoConvert_config_SchedulerPolicySource_To_v1alpha2_SchedulerPolicySource(in *config.SchedulerPolicySource, out *v1alpha2.SchedulerPolicySource, s conversion.Scope) error {
|
|
||||||
out.File = (*v1alpha2.SchedulerPolicyFileSource)(unsafe.Pointer(in.File))
|
|
||||||
out.ConfigMap = (*v1alpha2.SchedulerPolicyConfigMapSource)(unsafe.Pointer(in.ConfigMap))
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Convert_config_SchedulerPolicySource_To_v1alpha2_SchedulerPolicySource is an autogenerated conversion function.
|
|
||||||
func Convert_config_SchedulerPolicySource_To_v1alpha2_SchedulerPolicySource(in *config.SchedulerPolicySource, out *v1alpha2.SchedulerPolicySource, s conversion.Scope) error {
|
|
||||||
return autoConvert_config_SchedulerPolicySource_To_v1alpha2_SchedulerPolicySource(in, out, s)
|
|
||||||
}
|
|
||||||
|
@ -39,9 +39,6 @@ const (
|
|||||||
type KubeSchedulerConfiguration struct {
|
type KubeSchedulerConfiguration struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
|
|
||||||
// AlgorithmSource specifies the scheduler algorithm source.
|
|
||||||
AlgorithmSource SchedulerAlgorithmSource `json:"algorithmSource"`
|
|
||||||
|
|
||||||
// LeaderElection defines the configuration of leader election client.
|
// LeaderElection defines the configuration of leader election client.
|
||||||
LeaderElection KubeSchedulerLeaderElectionConfiguration `json:"leaderElection"`
|
LeaderElection KubeSchedulerLeaderElectionConfiguration `json:"leaderElection"`
|
||||||
|
|
||||||
@ -121,40 +118,6 @@ type KubeSchedulerProfile struct {
|
|||||||
PluginConfig []PluginConfig `json:"pluginConfig,omitempty"`
|
PluginConfig []PluginConfig `json:"pluginConfig,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// SchedulerAlgorithmSource is the source of a scheduler algorithm. One source
|
|
||||||
// field must be specified, and source fields are mutually exclusive.
|
|
||||||
type SchedulerAlgorithmSource struct {
|
|
||||||
// Policy is a policy based algorithm source.
|
|
||||||
Policy *SchedulerPolicySource `json:"policy,omitempty"`
|
|
||||||
// Provider is the name of a scheduling algorithm provider to use.
|
|
||||||
Provider *string `json:"provider,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// SchedulerPolicySource configures a means to obtain a scheduler Policy. One
|
|
||||||
// source field must be specified, and source fields are mutually exclusive.
|
|
||||||
type SchedulerPolicySource struct {
|
|
||||||
// File is a file policy source.
|
|
||||||
File *SchedulerPolicyFileSource `json:"file,omitempty"`
|
|
||||||
// ConfigMap is a config map policy source.
|
|
||||||
ConfigMap *SchedulerPolicyConfigMapSource `json:"configMap,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// SchedulerPolicyFileSource is a policy serialized to disk and accessed via
|
|
||||||
// path.
|
|
||||||
type SchedulerPolicyFileSource struct {
|
|
||||||
// Path is the location of a serialized policy.
|
|
||||||
Path string `json:"path"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// SchedulerPolicyConfigMapSource is a policy serialized into a config map value
|
|
||||||
// under the SchedulerPolicyConfigMapKey key.
|
|
||||||
type SchedulerPolicyConfigMapSource struct {
|
|
||||||
// Namespace is the namespace of the policy config map.
|
|
||||||
Namespace string `json:"namespace"`
|
|
||||||
// Name is the name of hte policy config map.
|
|
||||||
Name string `json:"name"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// KubeSchedulerLeaderElectionConfiguration expands LeaderElectionConfiguration
|
// KubeSchedulerLeaderElectionConfiguration expands LeaderElectionConfiguration
|
||||||
// to include scheduler specific configuration.
|
// to include scheduler specific configuration.
|
||||||
type KubeSchedulerLeaderElectionConfiguration struct {
|
type KubeSchedulerLeaderElectionConfiguration struct {
|
||||||
|
@ -28,7 +28,6 @@ import (
|
|||||||
func (in *KubeSchedulerConfiguration) DeepCopyInto(out *KubeSchedulerConfiguration) {
|
func (in *KubeSchedulerConfiguration) DeepCopyInto(out *KubeSchedulerConfiguration) {
|
||||||
*out = *in
|
*out = *in
|
||||||
out.TypeMeta = in.TypeMeta
|
out.TypeMeta = in.TypeMeta
|
||||||
in.AlgorithmSource.DeepCopyInto(&out.AlgorithmSource)
|
|
||||||
in.LeaderElection.DeepCopyInto(&out.LeaderElection)
|
in.LeaderElection.DeepCopyInto(&out.LeaderElection)
|
||||||
out.ClientConnection = in.ClientConnection
|
out.ClientConnection = in.ClientConnection
|
||||||
if in.HealthzBindAddress != nil {
|
if in.HealthzBindAddress != nil {
|
||||||
@ -283,87 +282,3 @@ func (in *Plugins) DeepCopy() *Plugins {
|
|||||||
in.DeepCopyInto(out)
|
in.DeepCopyInto(out)
|
||||||
return out
|
return out
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
||||||
func (in *SchedulerAlgorithmSource) DeepCopyInto(out *SchedulerAlgorithmSource) {
|
|
||||||
*out = *in
|
|
||||||
if in.Policy != nil {
|
|
||||||
in, out := &in.Policy, &out.Policy
|
|
||||||
*out = new(SchedulerPolicySource)
|
|
||||||
(*in).DeepCopyInto(*out)
|
|
||||||
}
|
|
||||||
if in.Provider != nil {
|
|
||||||
in, out := &in.Provider, &out.Provider
|
|
||||||
*out = new(string)
|
|
||||||
**out = **in
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulerAlgorithmSource.
|
|
||||||
func (in *SchedulerAlgorithmSource) DeepCopy() *SchedulerAlgorithmSource {
|
|
||||||
if in == nil {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
out := new(SchedulerAlgorithmSource)
|
|
||||||
in.DeepCopyInto(out)
|
|
||||||
return out
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
||||||
func (in *SchedulerPolicyConfigMapSource) DeepCopyInto(out *SchedulerPolicyConfigMapSource) {
|
|
||||||
*out = *in
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulerPolicyConfigMapSource.
|
|
||||||
func (in *SchedulerPolicyConfigMapSource) DeepCopy() *SchedulerPolicyConfigMapSource {
|
|
||||||
if in == nil {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
out := new(SchedulerPolicyConfigMapSource)
|
|
||||||
in.DeepCopyInto(out)
|
|
||||||
return out
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
||||||
func (in *SchedulerPolicyFileSource) DeepCopyInto(out *SchedulerPolicyFileSource) {
|
|
||||||
*out = *in
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulerPolicyFileSource.
|
|
||||||
func (in *SchedulerPolicyFileSource) DeepCopy() *SchedulerPolicyFileSource {
|
|
||||||
if in == nil {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
out := new(SchedulerPolicyFileSource)
|
|
||||||
in.DeepCopyInto(out)
|
|
||||||
return out
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
||||||
func (in *SchedulerPolicySource) DeepCopyInto(out *SchedulerPolicySource) {
|
|
||||||
*out = *in
|
|
||||||
if in.File != nil {
|
|
||||||
in, out := &in.File, &out.File
|
|
||||||
*out = new(SchedulerPolicyFileSource)
|
|
||||||
**out = **in
|
|
||||||
}
|
|
||||||
if in.ConfigMap != nil {
|
|
||||||
in, out := &in.ConfigMap, &out.ConfigMap
|
|
||||||
*out = new(SchedulerPolicyConfigMapSource)
|
|
||||||
**out = **in
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulerPolicySource.
|
|
||||||
func (in *SchedulerPolicySource) DeepCopy() *SchedulerPolicySource {
|
|
||||||
if in == nil {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
out := new(SchedulerPolicySource)
|
|
||||||
in.DeepCopyInto(out)
|
|
||||||
return out
|
|
||||||
}
|
|
||||||
|
Loading…
Reference in New Issue
Block a user