mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	Remove vestiges of defaulting from conversion path, switch to top-level default registration only
This commit is contained in:
		@@ -12,7 +12,6 @@ go_library(
 | 
			
		||||
    name = "go_default_library",
 | 
			
		||||
    srcs = [
 | 
			
		||||
        "annotation_key_constants.go",
 | 
			
		||||
        "defaults.go",
 | 
			
		||||
        "doc.go",
 | 
			
		||||
        "field_constants.go",
 | 
			
		||||
        "json.go",
 | 
			
		||||
 
 | 
			
		||||
@@ -83,6 +83,8 @@ func TestDefaulting(t *testing.T) {
 | 
			
		||||
		{Group: "apps", Version: "v1beta1", Kind: "StatefulSetList"}:                              {},
 | 
			
		||||
		{Group: "autoscaling", Version: "v1", Kind: "HorizontalPodAutoscaler"}:                    {},
 | 
			
		||||
		{Group: "autoscaling", Version: "v1", Kind: "HorizontalPodAutoscalerList"}:                {},
 | 
			
		||||
		{Group: "autoscaling", Version: "v2alpha1", Kind: "HorizontalPodAutoscaler"}:              {},
 | 
			
		||||
		{Group: "autoscaling", Version: "v2alpha1", Kind: "HorizontalPodAutoscalerList"}:          {},
 | 
			
		||||
		{Group: "batch", Version: "v1", Kind: "Job"}:                                              {},
 | 
			
		||||
		{Group: "batch", Version: "v1", Kind: "JobList"}:                                          {},
 | 
			
		||||
		{Group: "batch", Version: "v2alpha1", Kind: "CronJob"}:                                    {},
 | 
			
		||||
@@ -117,6 +119,8 @@ func TestDefaulting(t *testing.T) {
 | 
			
		||||
		{Group: "rbac.authorization.k8s.io", Version: "v1beta1", Kind: "ClusterRoleBindingList"}:  {},
 | 
			
		||||
		{Group: "rbac.authorization.k8s.io", Version: "v1beta1", Kind: "RoleBinding"}:             {},
 | 
			
		||||
		{Group: "rbac.authorization.k8s.io", Version: "v1beta1", Kind: "RoleBindingList"}:         {},
 | 
			
		||||
		{Group: "settings.k8s.io", Version: "v1alpha1", Kind: "PodPreset"}:                        {},
 | 
			
		||||
		{Group: "settings.k8s.io", Version: "v1alpha1", Kind: "PodPresetList"}:                    {},
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	f := fuzz.New().NilChance(.5).NumElements(1, 1).RandSource(rand.NewSource(1))
 | 
			
		||||
 
 | 
			
		||||
@@ -1,36 +0,0 @@
 | 
			
		||||
/*
 | 
			
		||||
Copyright 2016 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 api
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"k8s.io/apimachinery/pkg/fields"
 | 
			
		||||
	"k8s.io/apimachinery/pkg/labels"
 | 
			
		||||
	"k8s.io/apimachinery/pkg/runtime"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func addDefaultingFuncs(scheme *runtime.Scheme) error {
 | 
			
		||||
	return scheme.AddDefaultingFuncs(
 | 
			
		||||
		func(obj *ListOptions) {
 | 
			
		||||
			if obj.LabelSelector == nil {
 | 
			
		||||
				obj.LabelSelector = labels.Everything()
 | 
			
		||||
			}
 | 
			
		||||
			if obj.FieldSelector == nil {
 | 
			
		||||
				obj.FieldSelector = fields.Everything()
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
	)
 | 
			
		||||
}
 | 
			
		||||
@@ -68,7 +68,7 @@ func Resource(resource string) schema.GroupResource {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs)
 | 
			
		||||
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
 | 
			
		||||
	AddToScheme   = SchemeBuilder.AddToScheme
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -207,12 +207,17 @@ func TestResourceListConversion(t *testing.T) {
 | 
			
		||||
 | 
			
		||||
	for i, test := range tests {
 | 
			
		||||
		output := api.ResourceList{}
 | 
			
		||||
 | 
			
		||||
		// defaulting is a separate step from conversion that is applied when reading from the API or from etcd.
 | 
			
		||||
		// perform that step explicitly.
 | 
			
		||||
		v1.SetDefaults_ResourceList(&test.input)
 | 
			
		||||
 | 
			
		||||
		err := api.Scheme.Convert(&test.input, &output, nil)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			t.Fatalf("unexpected error for case %d: %v", i, err)
 | 
			
		||||
		}
 | 
			
		||||
		if !apiequality.Semantic.DeepEqual(test.expected, output) {
 | 
			
		||||
			t.Errorf("unexpected conversion for case %d: Expected %+v; Got %+v", i, test.expected, output)
 | 
			
		||||
			t.Errorf("unexpected conversion for case %d: Expected\n%+v;\nGot\n%+v", i, test.expected, output)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -24,37 +24,7 @@ import (
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func addDefaultingFuncs(scheme *runtime.Scheme) error {
 | 
			
		||||
	RegisterDefaults(scheme)
 | 
			
		||||
	return scheme.AddDefaultingFuncs(
 | 
			
		||||
		SetDefaults_PodExecOptions,
 | 
			
		||||
		SetDefaults_PodAttachOptions,
 | 
			
		||||
		SetDefaults_ReplicationController,
 | 
			
		||||
		SetDefaults_Volume,
 | 
			
		||||
		SetDefaults_ContainerPort,
 | 
			
		||||
		SetDefaults_Container,
 | 
			
		||||
		SetDefaults_ServiceSpec,
 | 
			
		||||
		SetDefaults_Pod,
 | 
			
		||||
		SetDefaults_PodSpec,
 | 
			
		||||
		SetDefaults_Probe,
 | 
			
		||||
		SetDefaults_SecretVolumeSource,
 | 
			
		||||
		SetDefaults_ConfigMapVolumeSource,
 | 
			
		||||
		SetDefaults_DownwardAPIVolumeSource,
 | 
			
		||||
		SetDefaults_ProjectedVolumeSource,
 | 
			
		||||
		SetDefaults_Secret,
 | 
			
		||||
		SetDefaults_PersistentVolume,
 | 
			
		||||
		SetDefaults_PersistentVolumeClaim,
 | 
			
		||||
		SetDefaults_ISCSIVolumeSource,
 | 
			
		||||
		SetDefaults_Endpoints,
 | 
			
		||||
		SetDefaults_HTTPGetAction,
 | 
			
		||||
		SetDefaults_NamespaceStatus,
 | 
			
		||||
		SetDefaults_Node,
 | 
			
		||||
		SetDefaults_NodeStatus,
 | 
			
		||||
		SetDefaults_ObjectFieldSelector,
 | 
			
		||||
		SetDefaults_LimitRangeItem,
 | 
			
		||||
		SetDefaults_ConfigMap,
 | 
			
		||||
		SetDefaults_RBDVolumeSource,
 | 
			
		||||
		SetDefaults_ResourceList,
 | 
			
		||||
	)
 | 
			
		||||
	return RegisterDefaults(scheme)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func SetDefaults_ResourceList(obj *ResourceList) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user