Promote kubescheduler.config.k8s.io to v1betav1

This commit is contained in:
Rafal Wicha
2020-05-25 16:14:21 +01:00
parent 7a30cf8046
commit 852442c0ff
38 changed files with 1191 additions and 1191 deletions

View File

@@ -8,7 +8,7 @@ go_library(
deps = [
"//pkg/scheduler/apis/config:go_default_library",
"//pkg/scheduler/apis/config/v1:go_default_library",
"//pkg/scheduler/apis/config/v1alpha2:go_default_library",
"//pkg/scheduler/apis/config/v1beta1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/runtime:go_default_library",
@@ -38,7 +38,7 @@ go_test(
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
"//staging/src/k8s.io/kube-scheduler/config/v1alpha2:go_default_library",
"//staging/src/k8s.io/kube-scheduler/config/v1beta1:go_default_library",
"//vendor/github.com/google/go-cmp/cmp:go_default_library",
"//vendor/k8s.io/utils/pointer:go_default_library",
"//vendor/sigs.k8s.io/yaml:go_default_library",

View File

@@ -22,7 +22,7 @@ import (
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
kubeschedulerconfig "k8s.io/kubernetes/pkg/scheduler/apis/config"
kubeschedulerconfigv1 "k8s.io/kubernetes/pkg/scheduler/apis/config/v1"
kubeschedulerconfigv1alpha2 "k8s.io/kubernetes/pkg/scheduler/apis/config/v1alpha2"
kubeschedulerconfigv1beta1 "k8s.io/kubernetes/pkg/scheduler/apis/config/v1beta1"
)
var (
@@ -41,6 +41,6 @@ func init() {
func AddToScheme(scheme *runtime.Scheme) {
utilruntime.Must(kubeschedulerconfig.AddToScheme(scheme))
utilruntime.Must(kubeschedulerconfigv1.AddToScheme(scheme))
utilruntime.Must(kubeschedulerconfigv1alpha2.AddToScheme(scheme))
utilruntime.Must(scheme.SetVersionPriority(kubeschedulerconfigv1alpha2.SchemeGroupVersion))
utilruntime.Must(kubeschedulerconfigv1beta1.AddToScheme(scheme))
utilruntime.Must(scheme.SetVersionPriority(kubeschedulerconfigv1beta1.SchemeGroupVersion))
}

View File

@@ -24,7 +24,7 @@ import (
v1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/kube-scheduler/config/v1alpha2"
"k8s.io/kube-scheduler/config/v1beta1"
"k8s.io/kubernetes/pkg/scheduler/apis/config"
"k8s.io/utils/pointer"
"sigs.k8s.io/yaml"
@@ -38,9 +38,9 @@ func TestCodecsDecodePluginConfig(t *testing.T) {
wantProfiles []config.KubeSchedulerProfile
}{
{
name: "v1alpha2 all plugin args in default profile",
name: "v1beta1 all plugin args in default profile",
data: []byte(`
apiVersion: kubescheduler.config.k8s.io/v1alpha2
apiVersion: kubescheduler.config.k8s.io/v1beta1
kind: KubeSchedulerConfiguration
profiles:
- pluginConfig:
@@ -142,15 +142,15 @@ profiles:
},
},
{
name: "v1alpha2 plugins can include version and kind",
name: "v1beta1 plugins can include version and kind",
data: []byte(`
apiVersion: kubescheduler.config.k8s.io/v1alpha2
apiVersion: kubescheduler.config.k8s.io/v1beta1
kind: KubeSchedulerConfiguration
profiles:
- pluginConfig:
- name: NodeLabel
args:
apiVersion: kubescheduler.config.k8s.io/v1alpha2
apiVersion: kubescheduler.config.k8s.io/v1beta1
kind: NodeLabelArgs
presentLabels: ["bars"]
`),
@@ -169,22 +169,22 @@ profiles:
{
name: "plugin group and kind should match the type",
data: []byte(`
apiVersion: kubescheduler.config.k8s.io/v1alpha2
apiVersion: kubescheduler.config.k8s.io/v1beta1
kind: KubeSchedulerConfiguration
profiles:
- pluginConfig:
- name: NodeLabel
args:
apiVersion: kubescheduler.config.k8s.io/v1alpha2
apiVersion: kubescheduler.config.k8s.io/v1beta1
kind: InterPodAffinityArgs
`),
wantErr: "decoding .profiles[0].pluginConfig[0]: args for plugin NodeLabel were not of type NodeLabelArgs.kubescheduler.config.k8s.io, got InterPodAffinityArgs.kubescheduler.config.k8s.io",
},
{
// TODO: do not replicate this case for v1beta1.
name: "v1alpha2 case insensitive RequestedToCapacityRatioArgs",
name: "v1beta1 case insensitive RequestedToCapacityRatioArgs",
data: []byte(`
apiVersion: kubescheduler.config.k8s.io/v1alpha2
apiVersion: kubescheduler.config.k8s.io/v1beta1
kind: KubeSchedulerConfiguration
profiles:
- pluginConfig:
@@ -225,7 +225,7 @@ profiles:
{
name: "out-of-tree plugin args",
data: []byte(`
apiVersion: kubescheduler.config.k8s.io/v1alpha2
apiVersion: kubescheduler.config.k8s.io/v1beta1
kind: KubeSchedulerConfiguration
profiles:
- pluginConfig:
@@ -251,7 +251,7 @@ profiles:
{
name: "empty and no plugin args",
data: []byte(`
apiVersion: kubescheduler.config.k8s.io/v1alpha2
apiVersion: kubescheduler.config.k8s.io/v1beta1
kind: KubeSchedulerConfiguration
profiles:
- pluginConfig:
@@ -337,16 +337,16 @@ func TestCodecsEncodePluginConfig(t *testing.T) {
want string
}{
{
name: "v1alpha2 in-tree and out-of-tree plugins",
version: v1alpha2.SchemeGroupVersion,
obj: &v1alpha2.KubeSchedulerConfiguration{
Profiles: []v1alpha2.KubeSchedulerProfile{
name: "v1beta1 in-tree and out-of-tree plugins",
version: v1beta1.SchemeGroupVersion,
obj: &v1beta1.KubeSchedulerConfiguration{
Profiles: []v1beta1.KubeSchedulerProfile{
{
PluginConfig: []v1alpha2.PluginConfig{
PluginConfig: []v1beta1.PluginConfig{
{
Name: "InterPodAffinity",
Args: runtime.RawExtension{
Object: &v1alpha2.InterPodAffinityArgs{
Object: &v1beta1.InterPodAffinityArgs{
HardPodAffinityWeight: pointer.Int32Ptr(5),
},
},
@@ -354,7 +354,7 @@ func TestCodecsEncodePluginConfig(t *testing.T) {
{
Name: "VolumeBinding",
Args: runtime.RawExtension{
Object: &v1alpha2.VolumeBindingArgs{
Object: &v1beta1.VolumeBindingArgs{
BindTimeoutSeconds: pointer.Int64Ptr(300),
},
},
@@ -362,11 +362,11 @@ func TestCodecsEncodePluginConfig(t *testing.T) {
{
Name: "RequestedToCapacityRatio",
Args: runtime.RawExtension{
Object: &v1alpha2.RequestedToCapacityRatioArgs{
Shape: []v1alpha2.UtilizationShapePoint{
Object: &v1beta1.RequestedToCapacityRatioArgs{
Shape: []v1beta1.UtilizationShapePoint{
{Utilization: 1, Score: 2},
},
Resources: []v1alpha2.ResourceSpec{
Resources: []v1beta1.ResourceSpec{
{Name: "lower", Weight: 2},
},
},
@@ -375,8 +375,8 @@ func TestCodecsEncodePluginConfig(t *testing.T) {
{
Name: "NodeResourcesLeastAllocated",
Args: runtime.RawExtension{
Object: &v1alpha2.NodeResourcesLeastAllocatedArgs{
Resources: []v1alpha2.ResourceSpec{
Object: &v1beta1.NodeResourcesLeastAllocatedArgs{
Resources: []v1beta1.ResourceSpec{
{Name: "mem", Weight: 2},
},
},
@@ -392,7 +392,7 @@ func TestCodecsEncodePluginConfig(t *testing.T) {
},
},
},
want: `apiVersion: kubescheduler.config.k8s.io/v1alpha2
want: `apiVersion: kubescheduler.config.k8s.io/v1beta1
clientConnection:
acceptContentTypes: ""
burst: 0
@@ -411,17 +411,17 @@ leaderElection:
profiles:
- pluginConfig:
- args:
apiVersion: kubescheduler.config.k8s.io/v1alpha2
apiVersion: kubescheduler.config.k8s.io/v1beta1
hardPodAffinityWeight: 5
kind: InterPodAffinityArgs
name: InterPodAffinity
- args:
apiVersion: kubescheduler.config.k8s.io/v1alpha2
apiVersion: kubescheduler.config.k8s.io/v1beta1
bindTimeoutSeconds: 300
kind: VolumeBindingArgs
name: VolumeBinding
- args:
apiVersion: kubescheduler.config.k8s.io/v1alpha2
apiVersion: kubescheduler.config.k8s.io/v1beta1
kind: RequestedToCapacityRatioArgs
resources:
- Name: lower
@@ -431,7 +431,7 @@ profiles:
Utilization: 1
name: RequestedToCapacityRatio
- args:
apiVersion: kubescheduler.config.k8s.io/v1alpha2
apiVersion: kubescheduler.config.k8s.io/v1beta1
kind: NodeResourcesLeastAllocatedArgs
resources:
- Name: mem
@@ -443,8 +443,8 @@ profiles:
`,
},
{
name: "v1alpha2 in-tree and out-of-tree plugins from internal",
version: v1alpha2.SchemeGroupVersion,
name: "v1beta1 in-tree and out-of-tree plugins from internal",
version: v1beta1.SchemeGroupVersion,
obj: &config.KubeSchedulerConfiguration{
Profiles: []config.KubeSchedulerProfile{
{
@@ -477,7 +477,7 @@ profiles:
},
},
},
want: `apiVersion: kubescheduler.config.k8s.io/v1alpha2
want: `apiVersion: kubescheduler.config.k8s.io/v1beta1
bindTimeoutSeconds: 0
clientConnection:
acceptContentTypes: ""
@@ -505,19 +505,19 @@ podMaxBackoffSeconds: 0
profiles:
- pluginConfig:
- args:
apiVersion: kubescheduler.config.k8s.io/v1alpha2
apiVersion: kubescheduler.config.k8s.io/v1beta1
hardPodAffinityWeight: 5
kind: InterPodAffinityArgs
name: InterPodAffinity
- args:
apiVersion: kubescheduler.config.k8s.io/v1alpha2
apiVersion: kubescheduler.config.k8s.io/v1beta1
kind: NodeResourcesMostAllocatedArgs
resources:
- Name: cpu
Weight: 1
name: NodeResourcesMostAllocated
- args:
apiVersion: kubescheduler.config.k8s.io/v1alpha2
apiVersion: kubescheduler.config.k8s.io/v1beta1
bindTimeoutSeconds: 300
kind: VolumeBindingArgs
name: VolumeBinding