Remove vestiges of defaulting from conversion path, switch to top-level default registration only

parent 06cdb02f
...@@ -35,11 +35,7 @@ const ( ...@@ -35,11 +35,7 @@ const (
) )
func addDefaultingFuncs(scheme *runtime.Scheme) error { func addDefaultingFuncs(scheme *runtime.Scheme) error {
RegisterDefaults(scheme) return RegisterDefaults(scheme)
return scheme.AddDefaultingFuncs(
SetDefaults_MasterConfiguration,
SetDefaults_NodeConfiguration,
)
} }
func SetDefaults_MasterConfiguration(obj *MasterConfiguration) { func SetDefaults_MasterConfiguration(obj *MasterConfiguration) {
......
...@@ -22,10 +22,5 @@ import ( ...@@ -22,10 +22,5 @@ import (
) )
func addDefaultingFuncs(scheme *runtime.Scheme) error { func addDefaultingFuncs(scheme *runtime.Scheme) error {
v1.RegisterDefaults(scheme) return v1.RegisterDefaults(scheme)
return scheme.AddDefaultingFuncs(
v1.SetDefaults_Secret,
v1.SetDefaults_ServiceSpec,
v1.SetDefaults_NamespaceStatus,
)
} }
...@@ -21,5 +21,5 @@ import ( ...@@ -21,5 +21,5 @@ import (
) )
func addDefaultingFuncs(scheme *runtime.Scheme) error { func addDefaultingFuncs(scheme *runtime.Scheme) error {
return nil return RegisterDefaults(scheme)
} }
...@@ -15,3 +15,4 @@ spec: ...@@ -15,3 +15,4 @@ spec:
containers: containers:
- name: nginx - name: nginx
image: gcr.io/google-containers/nginx:1.7.9 image: gcr.io/google-containers/nginx:1.7.9
terminationMessagePolicy: null
...@@ -102,3 +102,4 @@ ${informergen} \ ...@@ -102,3 +102,4 @@ ${informergen} \
# call generation on sub-project for now # call generation on sub-project for now
vendor/k8s.io/kube-aggregator/hack/update-codegen.sh vendor/k8s.io/kube-aggregator/hack/update-codegen.sh
vendor/k8s.io/sample-apiserver/hack/update-codegen.sh
...@@ -25,6 +25,7 @@ kube::golang::setup_env ...@@ -25,6 +25,7 @@ kube::golang::setup_env
# call verify on sub-project for now # call verify on sub-project for now
vendor/k8s.io/kube-aggregator/hack/verify-codegen.sh vendor/k8s.io/kube-aggregator/hack/verify-codegen.sh
vendor/k8s.io/sample-apiserver/hack/verify-codegen.sh
"${KUBE_ROOT}/hack/update-codegen.sh" --verify-only "${KUBE_ROOT}/hack/update-codegen.sh" --verify-only
...@@ -12,7 +12,6 @@ go_library( ...@@ -12,7 +12,6 @@ go_library(
name = "go_default_library", name = "go_default_library",
srcs = [ srcs = [
"annotation_key_constants.go", "annotation_key_constants.go",
"defaults.go",
"doc.go", "doc.go",
"field_constants.go", "field_constants.go",
"json.go", "json.go",
......
...@@ -83,6 +83,8 @@ func TestDefaulting(t *testing.T) { ...@@ -83,6 +83,8 @@ func TestDefaulting(t *testing.T) {
{Group: "apps", Version: "v1beta1", Kind: "StatefulSetList"}: {}, {Group: "apps", Version: "v1beta1", Kind: "StatefulSetList"}: {},
{Group: "autoscaling", Version: "v1", Kind: "HorizontalPodAutoscaler"}: {}, {Group: "autoscaling", Version: "v1", Kind: "HorizontalPodAutoscaler"}: {},
{Group: "autoscaling", Version: "v1", Kind: "HorizontalPodAutoscalerList"}: {}, {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: "Job"}: {},
{Group: "batch", Version: "v1", Kind: "JobList"}: {}, {Group: "batch", Version: "v1", Kind: "JobList"}: {},
{Group: "batch", Version: "v2alpha1", Kind: "CronJob"}: {}, {Group: "batch", Version: "v2alpha1", Kind: "CronJob"}: {},
...@@ -117,6 +119,8 @@ func TestDefaulting(t *testing.T) { ...@@ -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: "ClusterRoleBindingList"}: {},
{Group: "rbac.authorization.k8s.io", Version: "v1beta1", Kind: "RoleBinding"}: {}, {Group: "rbac.authorization.k8s.io", Version: "v1beta1", Kind: "RoleBinding"}: {},
{Group: "rbac.authorization.k8s.io", Version: "v1beta1", Kind: "RoleBindingList"}: {}, {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)) f := fuzz.New().NilChance(.5).NumElements(1, 1).RandSource(rand.NewSource(1))
......
...@@ -68,7 +68,7 @@ func Resource(resource string) schema.GroupResource { ...@@ -68,7 +68,7 @@ func Resource(resource string) schema.GroupResource {
} }
var ( var (
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs) SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
AddToScheme = SchemeBuilder.AddToScheme AddToScheme = SchemeBuilder.AddToScheme
) )
......
...@@ -207,12 +207,17 @@ func TestResourceListConversion(t *testing.T) { ...@@ -207,12 +207,17 @@ func TestResourceListConversion(t *testing.T) {
for i, test := range tests { for i, test := range tests {
output := api.ResourceList{} 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) err := api.Scheme.Convert(&test.input, &output, nil)
if err != nil { if err != nil {
t.Fatalf("unexpected error for case %d: %v", i, err) t.Fatalf("unexpected error for case %d: %v", i, err)
} }
if !apiequality.Semantic.DeepEqual(test.expected, output) { 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 ( ...@@ -24,37 +24,7 @@ import (
) )
func addDefaultingFuncs(scheme *runtime.Scheme) error { func addDefaultingFuncs(scheme *runtime.Scheme) error {
RegisterDefaults(scheme) return 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,
)
} }
func SetDefaults_ResourceList(obj *ResourceList) { func SetDefaults_ResourceList(obj *ResourceList) {
......
...@@ -40,7 +40,7 @@ func init() { ...@@ -40,7 +40,7 @@ func init() {
} }
var ( var (
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addConversionFuncs) SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addConversionFuncs, RegisterDefaults)
AddToScheme = SchemeBuilder.AddToScheme AddToScheme = SchemeBuilder.AddToScheme
) )
......
...@@ -23,11 +23,7 @@ import ( ...@@ -23,11 +23,7 @@ import (
) )
func addDefaultingFuncs(scheme *runtime.Scheme) error { func addDefaultingFuncs(scheme *runtime.Scheme) error {
RegisterDefaults(scheme) return RegisterDefaults(scheme)
return scheme.AddDefaultingFuncs(
SetDefaults_StatefulSet,
SetDefaults_Deployment,
)
} }
func SetDefaults_StatefulSet(obj *StatefulSet) { func SetDefaults_StatefulSet(obj *StatefulSet) {
......
...@@ -21,5 +21,5 @@ import ( ...@@ -21,5 +21,5 @@ import (
) )
func addDefaultingFuncs(scheme *runtime.Scheme) error { func addDefaultingFuncs(scheme *runtime.Scheme) error {
return scheme.AddDefaultingFuncs() return RegisterDefaults(scheme)
} }
...@@ -21,5 +21,5 @@ import ( ...@@ -21,5 +21,5 @@ import (
) )
func addDefaultingFuncs(scheme *runtime.Scheme) error { func addDefaultingFuncs(scheme *runtime.Scheme) error {
return scheme.AddDefaultingFuncs() return RegisterDefaults(scheme)
} }
...@@ -21,5 +21,5 @@ import ( ...@@ -21,5 +21,5 @@ import (
) )
func addDefaultingFuncs(scheme *runtime.Scheme) error { func addDefaultingFuncs(scheme *runtime.Scheme) error {
return scheme.AddDefaultingFuncs() return RegisterDefaults(scheme)
} }
...@@ -21,5 +21,5 @@ import ( ...@@ -21,5 +21,5 @@ import (
) )
func addDefaultingFuncs(scheme *runtime.Scheme) error { func addDefaultingFuncs(scheme *runtime.Scheme) error {
return scheme.AddDefaultingFuncs() return RegisterDefaults(scheme)
} }
...@@ -21,10 +21,7 @@ import ( ...@@ -21,10 +21,7 @@ import (
) )
func addDefaultingFuncs(scheme *runtime.Scheme) error { func addDefaultingFuncs(scheme *runtime.Scheme) error {
RegisterDefaults(scheme) return RegisterDefaults(scheme)
return scheme.AddDefaultingFuncs(
SetDefaults_HorizontalPodAutoscaler,
)
} }
func SetDefaults_HorizontalPodAutoscaler(obj *HorizontalPodAutoscaler) { func SetDefaults_HorizontalPodAutoscaler(obj *HorizontalPodAutoscaler) {
......
...@@ -19,6 +19,7 @@ go_library( ...@@ -19,6 +19,7 @@ go_library(
"types_swagger_doc_generated.go", "types_swagger_doc_generated.go",
"zz_generated.conversion.go", "zz_generated.conversion.go",
"zz_generated.deepcopy.go", "zz_generated.deepcopy.go",
"zz_generated.defaults.go",
], ],
tags = ["automanaged"], tags = ["automanaged"],
deps = [ deps = [
......
...@@ -23,9 +23,7 @@ import ( ...@@ -23,9 +23,7 @@ import (
) )
func addDefaultingFuncs(scheme *runtime.Scheme) error { func addDefaultingFuncs(scheme *runtime.Scheme) error {
return scheme.AddDefaultingFuncs( return RegisterDefaults(scheme)
SetDefaults_HorizontalPodAutoscaler,
)
} }
func SetDefaults_HorizontalPodAutoscaler(obj *HorizontalPodAutoscaler) { func SetDefaults_HorizontalPodAutoscaler(obj *HorizontalPodAutoscaler) {
......
...@@ -17,5 +17,6 @@ limitations under the License. ...@@ -17,5 +17,6 @@ limitations under the License.
// +k8s:deepcopy-gen=package,register // +k8s:deepcopy-gen=package,register
// +k8s:conversion-gen=k8s.io/kubernetes/pkg/apis/autoscaling // +k8s:conversion-gen=k8s.io/kubernetes/pkg/apis/autoscaling
// +k8s:openapi-gen=true // +k8s:openapi-gen=true
// +k8s:defaulter-gen=TypeMeta
package v2alpha1 // import "k8s.io/kubernetes/pkg/apis/autoscaling/v2alpha1" package v2alpha1 // import "k8s.io/kubernetes/pkg/apis/autoscaling/v2alpha1"
// +build !ignore_autogenerated
/*
Copyright 2017 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.
*/
// This file was autogenerated by defaulter-gen. Do not edit it manually!
package v2alpha1
import (
runtime "k8s.io/apimachinery/pkg/runtime"
)
// RegisterDefaults adds defaulters functions to the given scheme.
// Public to allow building arbitrary schemes.
// All generated defaulters are covering - they call all nested defaulters.
func RegisterDefaults(scheme *runtime.Scheme) error {
scheme.AddTypeDefaultingFunc(&HorizontalPodAutoscaler{}, func(obj interface{}) { SetObjectDefaults_HorizontalPodAutoscaler(obj.(*HorizontalPodAutoscaler)) })
scheme.AddTypeDefaultingFunc(&HorizontalPodAutoscalerList{}, func(obj interface{}) {
SetObjectDefaults_HorizontalPodAutoscalerList(obj.(*HorizontalPodAutoscalerList))
})
return nil
}
func SetObjectDefaults_HorizontalPodAutoscaler(in *HorizontalPodAutoscaler) {
SetDefaults_HorizontalPodAutoscaler(in)
}
func SetObjectDefaults_HorizontalPodAutoscalerList(in *HorizontalPodAutoscalerList) {
for i := range in.Items {
a := &in.Items[i]
SetObjectDefaults_HorizontalPodAutoscaler(a)
}
}
...@@ -21,10 +21,7 @@ import ( ...@@ -21,10 +21,7 @@ import (
) )
func addDefaultingFuncs(scheme *runtime.Scheme) error { func addDefaultingFuncs(scheme *runtime.Scheme) error {
RegisterDefaults(scheme) return RegisterDefaults(scheme)
return scheme.AddDefaultingFuncs(
SetDefaults_Job,
)
} }
func SetDefaults_Job(obj *Job) { func SetDefaults_Job(obj *Job) {
......
...@@ -21,10 +21,7 @@ import ( ...@@ -21,10 +21,7 @@ import (
) )
func addDefaultingFuncs(scheme *runtime.Scheme) error { func addDefaultingFuncs(scheme *runtime.Scheme) error {
RegisterDefaults(scheme) return RegisterDefaults(scheme)
return scheme.AddDefaultingFuncs(
SetDefaults_CronJob,
)
} }
func SetDefaults_CronJob(obj *CronJob) { func SetDefaults_CronJob(obj *CronJob) {
......
...@@ -19,10 +19,7 @@ package v1beta1 ...@@ -19,10 +19,7 @@ package v1beta1
import "k8s.io/apimachinery/pkg/runtime" import "k8s.io/apimachinery/pkg/runtime"
func addDefaultingFuncs(scheme *runtime.Scheme) error { func addDefaultingFuncs(scheme *runtime.Scheme) error {
RegisterDefaults(scheme) return RegisterDefaults(scheme)
return scheme.AddDefaultingFuncs(
SetDefaults_CertificateSigningRequestSpec,
)
} }
func SetDefaults_CertificateSigningRequestSpec(obj *CertificateSigningRequestSpec) { func SetDefaults_CertificateSigningRequestSpec(obj *CertificateSigningRequestSpec) {
if obj.Usages == nil { if obj.Usages == nil {
......
...@@ -55,13 +55,7 @@ var ( ...@@ -55,13 +55,7 @@ var (
) )
func addDefaultingFuncs(scheme *kruntime.Scheme) error { func addDefaultingFuncs(scheme *kruntime.Scheme) error {
RegisterDefaults(scheme) return RegisterDefaults(scheme)
return scheme.AddDefaultingFuncs(
SetDefaults_KubeProxyConfiguration,
SetDefaults_KubeSchedulerConfiguration,
SetDefaults_LeaderElectionConfiguration,
SetDefaults_KubeletConfiguration,
)
} }
func SetDefaults_KubeProxyConfiguration(obj *KubeProxyConfiguration) { func SetDefaults_KubeProxyConfiguration(obj *KubeProxyConfiguration) {
......
...@@ -24,13 +24,7 @@ import ( ...@@ -24,13 +24,7 @@ import (
) )
func addDefaultingFuncs(scheme *runtime.Scheme) error { func addDefaultingFuncs(scheme *runtime.Scheme) error {
RegisterDefaults(scheme) return RegisterDefaults(scheme)
return scheme.AddDefaultingFuncs(
SetDefaults_DaemonSet,
SetDefaults_Deployment,
SetDefaults_ReplicaSet,
SetDefaults_NetworkPolicy,
)
} }
func SetDefaults_DaemonSet(obj *DaemonSet) { func SetDefaults_DaemonSet(obj *DaemonSet) {
......
...@@ -34,7 +34,7 @@ func Resource(resource string) schema.GroupResource { ...@@ -34,7 +34,7 @@ func Resource(resource string) schema.GroupResource {
} }
var ( var (
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, RegisterDefaults)
AddToScheme = SchemeBuilder.AddToScheme AddToScheme = SchemeBuilder.AddToScheme
) )
......
...@@ -13,6 +13,7 @@ go_library( ...@@ -13,6 +13,7 @@ go_library(
"doc.go", "doc.go",
"register.go", "register.go",
"types.go", "types.go",
"zz_generated.defaults.go",
], ],
tags = ["automanaged"], tags = ["automanaged"],
deps = [ deps = [
......
...@@ -14,6 +14,8 @@ See the License for the specific language governing permissions and ...@@ -14,6 +14,8 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
// +k8s:defaulter-gen=TypeMeta
// Package policy is for any kind of policy object. Suitable examples, even if // Package policy is for any kind of policy object. Suitable examples, even if
// they aren't all here, are PodDisruptionBudget, PodSecurityPolicy, // they aren't all here, are PodDisruptionBudget, PodSecurityPolicy,
// NetworkPolicy, etc. // NetworkPolicy, etc.
......
...@@ -34,7 +34,7 @@ func Resource(resource string) schema.GroupResource { ...@@ -34,7 +34,7 @@ func Resource(resource string) schema.GroupResource {
} }
var ( var (
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, RegisterDefaults)
AddToScheme = SchemeBuilder.AddToScheme AddToScheme = SchemeBuilder.AddToScheme
) )
......
// +build !ignore_autogenerated
/* /*
Copyright 2016 The Kubernetes Authors. Copyright 2017 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.
...@@ -14,23 +16,17 @@ See the License for the specific language governing permissions and ...@@ -14,23 +16,17 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
package api // This file was autogenerated by defaulter-gen. Do not edit it manually!
package v1alpha1
import ( import (
"k8s.io/apimachinery/pkg/fields" runtime "k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/runtime"
) )
func addDefaultingFuncs(scheme *runtime.Scheme) error { // RegisterDefaults adds defaulters functions to the given scheme.
return scheme.AddDefaultingFuncs( // Public to allow building arbitrary schemes.
func(obj *ListOptions) { // All generated defaulters are covering - they call all nested defaulters.
if obj.LabelSelector == nil { func RegisterDefaults(scheme *runtime.Scheme) error {
obj.LabelSelector = labels.Everything() return nil
}
if obj.FieldSelector == nil {
obj.FieldSelector = fields.Everything()
}
},
)
} }
...@@ -18,6 +18,7 @@ go_library( ...@@ -18,6 +18,7 @@ go_library(
"types_swagger_doc_generated.go", "types_swagger_doc_generated.go",
"zz_generated.conversion.go", "zz_generated.conversion.go",
"zz_generated.deepcopy.go", "zz_generated.deepcopy.go",
"zz_generated.defaults.go",
], ],
tags = ["automanaged"], tags = ["automanaged"],
deps = [ deps = [
......
...@@ -16,6 +16,7 @@ limitations under the License. ...@@ -16,6 +16,7 @@ limitations under the License.
// +k8s:deepcopy-gen=package,register // +k8s:deepcopy-gen=package,register
// +k8s:conversion-gen=k8s.io/kubernetes/pkg/apis/policy // +k8s:conversion-gen=k8s.io/kubernetes/pkg/apis/policy
// +k8s:defaulter-gen=TypeMeta
// Package policy is for any kind of policy object. Suitable examples, even if // Package policy is for any kind of policy object. Suitable examples, even if
// they aren't all here, are PodDisruptionBudget, PodSecurityPolicy, // they aren't all here, are PodDisruptionBudget, PodSecurityPolicy,
......
...@@ -34,7 +34,7 @@ func Resource(resource string) schema.GroupResource { ...@@ -34,7 +34,7 @@ func Resource(resource string) schema.GroupResource {
} }
var ( var (
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, RegisterDefaults)
AddToScheme = SchemeBuilder.AddToScheme AddToScheme = SchemeBuilder.AddToScheme
) )
......
// +build !ignore_autogenerated
/* /*
Copyright 2016 The Kubernetes Authors. Copyright 2017 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.
...@@ -14,23 +16,17 @@ See the License for the specific language governing permissions and ...@@ -14,23 +16,17 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
package api // This file was autogenerated by defaulter-gen. Do not edit it manually!
package v1beta1
import ( import (
"k8s.io/apimachinery/pkg/fields" runtime "k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/runtime"
) )
func addDefaultingFuncs(scheme *runtime.Scheme) error { // RegisterDefaults adds defaulters functions to the given scheme.
return scheme.AddDefaultingFuncs( // Public to allow building arbitrary schemes.
func(obj *ListOptions) { // All generated defaulters are covering - they call all nested defaulters.
if obj.LabelSelector == nil { func RegisterDefaults(scheme *runtime.Scheme) error {
obj.LabelSelector = labels.Everything() return nil
}
if obj.FieldSelector == nil {
obj.FieldSelector = fields.Everything()
}
},
)
} }
...@@ -21,12 +21,7 @@ import ( ...@@ -21,12 +21,7 @@ import (
) )
func addDefaultingFuncs(scheme *runtime.Scheme) error { func addDefaultingFuncs(scheme *runtime.Scheme) error {
RegisterDefaults(scheme) return RegisterDefaults(scheme)
return scheme.AddDefaultingFuncs(
SetDefaults_ClusterRoleBinding,
SetDefaults_RoleBinding,
SetDefaults_Subject,
)
} }
func SetDefaults_ClusterRoleBinding(obj *ClusterRoleBinding) { func SetDefaults_ClusterRoleBinding(obj *ClusterRoleBinding) {
......
...@@ -21,12 +21,7 @@ import ( ...@@ -21,12 +21,7 @@ import (
) )
func addDefaultingFuncs(scheme *runtime.Scheme) error { func addDefaultingFuncs(scheme *runtime.Scheme) error {
RegisterDefaults(scheme) return RegisterDefaults(scheme)
return scheme.AddDefaultingFuncs(
SetDefaults_ClusterRoleBinding,
SetDefaults_RoleBinding,
SetDefaults_Subject,
)
} }
func SetDefaults_ClusterRoleBinding(obj *ClusterRoleBinding) { func SetDefaults_ClusterRoleBinding(obj *ClusterRoleBinding) {
......
...@@ -34,7 +34,7 @@ func Resource(resource string) schema.GroupResource { ...@@ -34,7 +34,7 @@ func Resource(resource string) schema.GroupResource {
} }
var ( var (
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, RegisterDefaults)
AddToScheme = SchemeBuilder.AddToScheme AddToScheme = SchemeBuilder.AddToScheme
) )
......
...@@ -34,7 +34,7 @@ func Resource(resource string) schema.GroupResource { ...@@ -34,7 +34,7 @@ func Resource(resource string) schema.GroupResource {
} }
var ( var (
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, RegisterDefaults)
AddToScheme = SchemeBuilder.AddToScheme AddToScheme = SchemeBuilder.AddToScheme
) )
......
...@@ -34,7 +34,7 @@ func Resource(resource string) schema.GroupResource { ...@@ -34,7 +34,7 @@ func Resource(resource string) schema.GroupResource {
} }
var ( var (
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, RegisterDefaults)
AddToScheme = SchemeBuilder.AddToScheme AddToScheme = SchemeBuilder.AddToScheme
) )
......
...@@ -19,10 +19,5 @@ package v1alpha1 ...@@ -19,10 +19,5 @@ package v1alpha1
import "k8s.io/apimachinery/pkg/runtime" import "k8s.io/apimachinery/pkg/runtime"
func addDefaultingFuncs(scheme *runtime.Scheme) error { func addDefaultingFuncs(scheme *runtime.Scheme) error {
RegisterDefaults(scheme) return RegisterDefaults(scheme)
return scheme.AddDefaultingFuncs(
SetDefaults_Configuration,
)
} }
func SetDefaults_Configuration(obj *Configuration) {}
...@@ -28,10 +28,5 @@ import ( ...@@ -28,10 +28,5 @@ import (
// Public to allow building arbitrary schemes. // Public to allow building arbitrary schemes.
// All generated defaulters are covering - they call all nested defaulters. // All generated defaulters are covering - they call all nested defaulters.
func RegisterDefaults(scheme *runtime.Scheme) error { func RegisterDefaults(scheme *runtime.Scheme) error {
scheme.AddTypeDefaultingFunc(&Configuration{}, func(obj interface{}) { SetObjectDefaults_Configuration(obj.(*Configuration)) })
return nil return nil
} }
func SetObjectDefaults_Configuration(in *Configuration) {
SetDefaults_Configuration(in)
}
...@@ -19,10 +19,7 @@ package v1alpha1 ...@@ -19,10 +19,7 @@ package v1alpha1
import kruntime "k8s.io/apimachinery/pkg/runtime" import kruntime "k8s.io/apimachinery/pkg/runtime"
func addDefaultingFuncs(scheme *kruntime.Scheme) error { func addDefaultingFuncs(scheme *kruntime.Scheme) error {
RegisterDefaults(scheme) return RegisterDefaults(scheme)
return scheme.AddDefaultingFuncs(
SetDefaults_Configuration,
)
} }
func SetDefaults_Configuration(obj *Configuration) {} func SetDefaults_Configuration(obj *Configuration) {}
...@@ -66,12 +66,6 @@ type Converter struct { ...@@ -66,12 +66,6 @@ type Converter struct {
// source field name and type to look for. // source field name and type to look for.
structFieldSources map[typeNamePair][]typeNamePair structFieldSources map[typeNamePair][]typeNamePair
// Map from a type to a function which applies defaults.
defaultingFuncs map[reflect.Type]reflect.Value
// Similar to above, but function is stored as interface{}.
defaultingInterfaces map[reflect.Type]interface{}
// Map from an input type to a function which can apply a key name mapping // Map from an input type to a function which can apply a key name mapping
inputFieldMappingFuncs map[reflect.Type]FieldMappingFunc inputFieldMappingFuncs map[reflect.Type]FieldMappingFunc
...@@ -93,8 +87,6 @@ func NewConverter(nameFn NameFunc) *Converter { ...@@ -93,8 +87,6 @@ func NewConverter(nameFn NameFunc) *Converter {
conversionFuncs: NewConversionFuncs(), conversionFuncs: NewConversionFuncs(),
generatedConversionFuncs: NewConversionFuncs(), generatedConversionFuncs: NewConversionFuncs(),
ignoredConversions: make(map[typePair]struct{}), ignoredConversions: make(map[typePair]struct{}),
defaultingFuncs: make(map[reflect.Type]reflect.Value),
defaultingInterfaces: make(map[reflect.Type]interface{}),
nameFunc: nameFn, nameFunc: nameFn,
structFieldDests: make(map[typeNamePair][]typeNamePair), structFieldDests: make(map[typeNamePair][]typeNamePair),
structFieldSources: make(map[typeNamePair][]typeNamePair), structFieldSources: make(map[typeNamePair][]typeNamePair),
...@@ -152,10 +144,6 @@ type Scope interface { ...@@ -152,10 +144,6 @@ type Scope interface {
// on the current stack frame. This makes it safe to call from a conversion func. // on the current stack frame. This makes it safe to call from a conversion func.
DefaultConvert(src, dest interface{}, flags FieldMatchingFlags) error DefaultConvert(src, dest interface{}, flags FieldMatchingFlags) error
// If registered, returns a function applying defaults for objects of a given type.
// Used for automatically generating conversion functions.
DefaultingInterface(inType reflect.Type) (interface{}, bool)
// SrcTags and DestTags contain the struct tags that src and dest had, respectively. // SrcTags and DestTags contain the struct tags that src and dest had, respectively.
// If the enclosing object was not a struct, then these will contain no tags, of course. // If the enclosing object was not a struct, then these will contain no tags, of course.
SrcTag() reflect.StructTag SrcTag() reflect.StructTag
...@@ -269,11 +257,6 @@ func (s scopeStack) describe() string { ...@@ -269,11 +257,6 @@ func (s scopeStack) describe() string {
return desc return desc
} }
func (s *scope) DefaultingInterface(inType reflect.Type) (interface{}, bool) {
value, found := s.converter.defaultingInterfaces[inType]
return value, found
}
// Formats src & dest as indices for printing. // Formats src & dest as indices for printing.
func (s *scope) setIndices(src, dest int) { func (s *scope) setIndices(src, dest int) {
s.srcStack.top().key = fmt.Sprintf("[%v]", src) s.srcStack.top().key = fmt.Sprintf("[%v]", src)
...@@ -430,35 +413,6 @@ func (c *Converter) SetStructFieldCopy(srcFieldType interface{}, srcFieldName st ...@@ -430,35 +413,6 @@ func (c *Converter) SetStructFieldCopy(srcFieldType interface{}, srcFieldName st
return nil return nil
} }
// RegisterDefaultingFunc registers a value-defaulting func with the Converter.
// defaultingFunc must take one parameter: a pointer to the input type.
//
// Example:
// c.RegisterDefaultingFunc(
// func(in *v1.Pod) {
// // defaulting logic...
// })
func (c *Converter) RegisterDefaultingFunc(defaultingFunc interface{}) error {
fv := reflect.ValueOf(defaultingFunc)
ft := fv.Type()
if ft.Kind() != reflect.Func {
return fmt.Errorf("expected func, got: %v", ft)
}
if ft.NumIn() != 1 {
return fmt.Errorf("expected one 'in' param, got: %v", ft)
}
if ft.NumOut() != 0 {
return fmt.Errorf("expected zero 'out' params, got: %v", ft)
}
if ft.In(0).Kind() != reflect.Ptr {
return fmt.Errorf("expected pointer arg for 'in' param 0, got: %v", ft)
}
inType := ft.In(0).Elem()
c.defaultingFuncs[inType] = fv
c.defaultingInterfaces[inType] = defaultingFunc
return nil
}
// RegisterInputDefaults registers a field name mapping function, used when converting // RegisterInputDefaults registers a field name mapping function, used when converting
// from maps to structs. Inputs to the conversion methods are checked for this type and a mapping // from maps to structs. Inputs to the conversion methods are checked for this type and a mapping
// applied automatically if the input matches in. A set of default flags for the input conversion // applied automatically if the input matches in. A set of default flags for the input conversion
...@@ -596,15 +550,6 @@ func (c *Converter) callCustom(sv, dv, custom reflect.Value, scope *scope) error ...@@ -596,15 +550,6 @@ func (c *Converter) callCustom(sv, dv, custom reflect.Value, scope *scope) error
// one is registered. // one is registered.
func (c *Converter) convert(sv, dv reflect.Value, scope *scope) error { func (c *Converter) convert(sv, dv reflect.Value, scope *scope) error {
dt, st := dv.Type(), sv.Type() dt, st := dv.Type(), sv.Type()
// Apply default values.
if fv, ok := c.defaultingFuncs[st]; ok {
if c.Debug != nil {
c.Debug.Logf("Applying defaults for '%v'", st)
}
args := []reflect.Value{sv.Addr()}
fv.Call(args)
}
pair := typePair{st, dt} pair := typePair{st, dt}
// ignore conversions of this type // ignore conversions of this type
......
...@@ -404,29 +404,6 @@ func (s *Scheme) RegisterInputDefaults(in interface{}, fn conversion.FieldMappin ...@@ -404,29 +404,6 @@ func (s *Scheme) RegisterInputDefaults(in interface{}, fn conversion.FieldMappin
return s.converter.RegisterInputDefaults(in, fn, defaultFlags) return s.converter.RegisterInputDefaults(in, fn, defaultFlags)
} }
// AddDefaultingFuncs adds functions to the list of default-value functions.
// Each of the given functions is responsible for applying default values
// when converting an instance of a versioned API object into an internal
// API object. These functions do not need to handle sub-objects. We deduce
// how to call these functions from the types of their two parameters.
//
// s.AddDefaultingFuncs(
// func(obj *v1.Pod) {
// if obj.OptionalField == "" {
// obj.OptionalField = "DefaultValue"
// }
// },
// )
func (s *Scheme) AddDefaultingFuncs(defaultingFuncs ...interface{}) error {
for _, f := range defaultingFuncs {
err := s.converter.RegisterDefaultingFunc(f)
if err != nil {
return err
}
}
return nil
}
// AddTypeDefaultingFuncs registers a function that is passed a pointer to an // AddTypeDefaultingFuncs registers a function that is passed a pointer to an
// object and can default fields on the object. These functions will be invoked // object and can default fields on the object. These functions will be invoked
// when Default() is called. The function will never be called unless the // when Default() is called. The function will never be called unless the
......
...@@ -16,6 +16,7 @@ limitations under the License. ...@@ -16,6 +16,7 @@ limitations under the License.
// +k8s:deepcopy-gen=package,register // +k8s:deepcopy-gen=package,register
// +k8s:conversion-gen=k8s.io/kubernetes/vendor/k8s.io/apiserver/pkg/apis/apiserver // +k8s:conversion-gen=k8s.io/kubernetes/vendor/k8s.io/apiserver/pkg/apis/apiserver
// +k8s:defaulter-gen=TypeMeta
// Package v1alpha1 is the v1alpha1 version of the API. // Package v1alpha1 is the v1alpha1 version of the API.
// +groupName=apiserver.k8s.io // +groupName=apiserver.k8s.io
......
...@@ -21,5 +21,6 @@ import ( ...@@ -21,5 +21,6 @@ import (
) )
func addDefaultingFuncs(scheme *runtime.Scheme) error { func addDefaultingFuncs(scheme *runtime.Scheme) error {
// return RegisterDefaults(scheme)
return nil return nil
} }
...@@ -68,7 +68,7 @@ func Resource(resource string) schema.GroupResource { ...@@ -68,7 +68,7 @@ func Resource(resource string) schema.GroupResource {
} }
var ( var (
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs) SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
AddToScheme = SchemeBuilder.AddToScheme AddToScheme = SchemeBuilder.AddToScheme
) )
......
...@@ -24,37 +24,7 @@ import ( ...@@ -24,37 +24,7 @@ import (
) )
func addDefaultingFuncs(scheme *runtime.Scheme) error { func addDefaultingFuncs(scheme *runtime.Scheme) error {
RegisterDefaults(scheme) return 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,
)
} }
func SetDefaults_ResourceList(obj *ResourceList) { func SetDefaults_ResourceList(obj *ResourceList) {
......
...@@ -23,11 +23,7 @@ import ( ...@@ -23,11 +23,7 @@ import (
) )
func addDefaultingFuncs(scheme *runtime.Scheme) error { func addDefaultingFuncs(scheme *runtime.Scheme) error {
RegisterDefaults(scheme) return RegisterDefaults(scheme)
return scheme.AddDefaultingFuncs(
SetDefaults_StatefulSet,
SetDefaults_Deployment,
)
} }
func SetDefaults_StatefulSet(obj *StatefulSet) { func SetDefaults_StatefulSet(obj *StatefulSet) {
......
...@@ -21,5 +21,5 @@ import ( ...@@ -21,5 +21,5 @@ import (
) )
func addDefaultingFuncs(scheme *runtime.Scheme) error { func addDefaultingFuncs(scheme *runtime.Scheme) error {
return scheme.AddDefaultingFuncs() return RegisterDefaults(scheme)
} }
...@@ -21,5 +21,5 @@ import ( ...@@ -21,5 +21,5 @@ import (
) )
func addDefaultingFuncs(scheme *runtime.Scheme) error { func addDefaultingFuncs(scheme *runtime.Scheme) error {
return scheme.AddDefaultingFuncs() return RegisterDefaults(scheme)
} }
...@@ -21,5 +21,5 @@ import ( ...@@ -21,5 +21,5 @@ import (
) )
func addDefaultingFuncs(scheme *runtime.Scheme) error { func addDefaultingFuncs(scheme *runtime.Scheme) error {
return scheme.AddDefaultingFuncs() return RegisterDefaults(scheme)
} }
...@@ -21,5 +21,5 @@ import ( ...@@ -21,5 +21,5 @@ import (
) )
func addDefaultingFuncs(scheme *runtime.Scheme) error { func addDefaultingFuncs(scheme *runtime.Scheme) error {
return scheme.AddDefaultingFuncs() return RegisterDefaults(scheme)
} }
...@@ -21,10 +21,7 @@ import ( ...@@ -21,10 +21,7 @@ import (
) )
func addDefaultingFuncs(scheme *runtime.Scheme) error { func addDefaultingFuncs(scheme *runtime.Scheme) error {
RegisterDefaults(scheme) return RegisterDefaults(scheme)
return scheme.AddDefaultingFuncs(
SetDefaults_HorizontalPodAutoscaler,
)
} }
func SetDefaults_HorizontalPodAutoscaler(obj *HorizontalPodAutoscaler) { func SetDefaults_HorizontalPodAutoscaler(obj *HorizontalPodAutoscaler) {
......
...@@ -23,9 +23,7 @@ import ( ...@@ -23,9 +23,7 @@ import (
) )
func addDefaultingFuncs(scheme *runtime.Scheme) error { func addDefaultingFuncs(scheme *runtime.Scheme) error {
return scheme.AddDefaultingFuncs( return RegisterDefaults(scheme)
SetDefaults_HorizontalPodAutoscaler,
)
} }
func SetDefaults_HorizontalPodAutoscaler(obj *HorizontalPodAutoscaler) { func SetDefaults_HorizontalPodAutoscaler(obj *HorizontalPodAutoscaler) {
......
// +build !ignore_autogenerated
/*
Copyright 2017 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.
*/
// This file was autogenerated by defaulter-gen. Do not edit it manually!
package v2alpha1
import (
runtime "k8s.io/apimachinery/pkg/runtime"
)
// RegisterDefaults adds defaulters functions to the given scheme.
// Public to allow building arbitrary schemes.
// All generated defaulters are covering - they call all nested defaulters.
func RegisterDefaults(scheme *runtime.Scheme) error {
scheme.AddTypeDefaultingFunc(&HorizontalPodAutoscaler{}, func(obj interface{}) { SetObjectDefaults_HorizontalPodAutoscaler(obj.(*HorizontalPodAutoscaler)) })
scheme.AddTypeDefaultingFunc(&HorizontalPodAutoscalerList{}, func(obj interface{}) {
SetObjectDefaults_HorizontalPodAutoscalerList(obj.(*HorizontalPodAutoscalerList))
})
return nil
}
func SetObjectDefaults_HorizontalPodAutoscaler(in *HorizontalPodAutoscaler) {
SetDefaults_HorizontalPodAutoscaler(in)
}
func SetObjectDefaults_HorizontalPodAutoscalerList(in *HorizontalPodAutoscalerList) {
for i := range in.Items {
a := &in.Items[i]
SetObjectDefaults_HorizontalPodAutoscaler(a)
}
}
...@@ -21,10 +21,7 @@ import ( ...@@ -21,10 +21,7 @@ import (
) )
func addDefaultingFuncs(scheme *runtime.Scheme) error { func addDefaultingFuncs(scheme *runtime.Scheme) error {
RegisterDefaults(scheme) return RegisterDefaults(scheme)
return scheme.AddDefaultingFuncs(
SetDefaults_Job,
)
} }
func SetDefaults_Job(obj *Job) { func SetDefaults_Job(obj *Job) {
......
...@@ -21,10 +21,7 @@ import ( ...@@ -21,10 +21,7 @@ import (
) )
func addDefaultingFuncs(scheme *runtime.Scheme) error { func addDefaultingFuncs(scheme *runtime.Scheme) error {
RegisterDefaults(scheme) return RegisterDefaults(scheme)
return scheme.AddDefaultingFuncs(
SetDefaults_CronJob,
)
} }
func SetDefaults_CronJob(obj *CronJob) { func SetDefaults_CronJob(obj *CronJob) {
......
...@@ -19,10 +19,7 @@ package v1beta1 ...@@ -19,10 +19,7 @@ package v1beta1
import "k8s.io/apimachinery/pkg/runtime" import "k8s.io/apimachinery/pkg/runtime"
func addDefaultingFuncs(scheme *runtime.Scheme) error { func addDefaultingFuncs(scheme *runtime.Scheme) error {
RegisterDefaults(scheme) return RegisterDefaults(scheme)
return scheme.AddDefaultingFuncs(
SetDefaults_CertificateSigningRequestSpec,
)
} }
func SetDefaults_CertificateSigningRequestSpec(obj *CertificateSigningRequestSpec) { func SetDefaults_CertificateSigningRequestSpec(obj *CertificateSigningRequestSpec) {
if obj.Usages == nil { if obj.Usages == nil {
......
...@@ -24,13 +24,7 @@ import ( ...@@ -24,13 +24,7 @@ import (
) )
func addDefaultingFuncs(scheme *runtime.Scheme) error { func addDefaultingFuncs(scheme *runtime.Scheme) error {
RegisterDefaults(scheme) return RegisterDefaults(scheme)
return scheme.AddDefaultingFuncs(
SetDefaults_DaemonSet,
SetDefaults_Deployment,
SetDefaults_ReplicaSet,
SetDefaults_NetworkPolicy,
)
} }
func SetDefaults_DaemonSet(obj *DaemonSet) { func SetDefaults_DaemonSet(obj *DaemonSet) {
......
...@@ -34,7 +34,7 @@ func Resource(resource string) schema.GroupResource { ...@@ -34,7 +34,7 @@ func Resource(resource string) schema.GroupResource {
} }
var ( var (
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, RegisterDefaults)
AddToScheme = SchemeBuilder.AddToScheme AddToScheme = SchemeBuilder.AddToScheme
) )
......
// +build !ignore_autogenerated
/*
Copyright 2017 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.
*/
// This file was autogenerated by defaulter-gen. Do not edit it manually!
package v1beta1
import (
runtime "k8s.io/apimachinery/pkg/runtime"
)
// RegisterDefaults adds defaulters functions to the given scheme.
// Public to allow building arbitrary schemes.
// All generated defaulters are covering - they call all nested defaulters.
func RegisterDefaults(scheme *runtime.Scheme) error {
return nil
}
...@@ -21,12 +21,7 @@ import ( ...@@ -21,12 +21,7 @@ import (
) )
func addDefaultingFuncs(scheme *runtime.Scheme) error { func addDefaultingFuncs(scheme *runtime.Scheme) error {
RegisterDefaults(scheme) return RegisterDefaults(scheme)
return scheme.AddDefaultingFuncs(
SetDefaults_ClusterRoleBinding,
SetDefaults_RoleBinding,
SetDefaults_Subject,
)
} }
func SetDefaults_ClusterRoleBinding(obj *ClusterRoleBinding) { func SetDefaults_ClusterRoleBinding(obj *ClusterRoleBinding) {
......
...@@ -21,12 +21,7 @@ import ( ...@@ -21,12 +21,7 @@ import (
) )
func addDefaultingFuncs(scheme *runtime.Scheme) error { func addDefaultingFuncs(scheme *runtime.Scheme) error {
RegisterDefaults(scheme) return RegisterDefaults(scheme)
return scheme.AddDefaultingFuncs(
SetDefaults_ClusterRoleBinding,
SetDefaults_RoleBinding,
SetDefaults_Subject,
)
} }
func SetDefaults_ClusterRoleBinding(obj *ClusterRoleBinding) { func SetDefaults_ClusterRoleBinding(obj *ClusterRoleBinding) {
......
...@@ -34,7 +34,7 @@ func Resource(resource string) schema.GroupResource { ...@@ -34,7 +34,7 @@ func Resource(resource string) schema.GroupResource {
} }
var ( var (
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, RegisterDefaults)
AddToScheme = SchemeBuilder.AddToScheme AddToScheme = SchemeBuilder.AddToScheme
) )
......
...@@ -34,7 +34,7 @@ func Resource(resource string) schema.GroupResource { ...@@ -34,7 +34,7 @@ func Resource(resource string) schema.GroupResource {
} }
var ( var (
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, RegisterDefaults)
AddToScheme = SchemeBuilder.AddToScheme AddToScheme = SchemeBuilder.AddToScheme
) )
......
...@@ -34,7 +34,7 @@ func Resource(resource string) schema.GroupResource { ...@@ -34,7 +34,7 @@ func Resource(resource string) schema.GroupResource {
} }
var ( var (
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, RegisterDefaults)
AddToScheme = SchemeBuilder.AddToScheme AddToScheme = SchemeBuilder.AddToScheme
) )
......
...@@ -18,8 +18,8 @@ set -o errexit ...@@ -18,8 +18,8 @@ set -o errexit
set -o nounset set -o nounset
set -o pipefail set -o pipefail
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/../../.. KUBE_ROOT=$(dirname "${BASH_SOURCE}")/../../../../..
APIFEDERATOR_ROOT=$(dirname "${BASH_SOURCE}")/.. EXAMPLE_ROOT=$(dirname "${BASH_SOURCE}")/..
source "${KUBE_ROOT}/hack/lib/init.sh" source "${KUBE_ROOT}/hack/lib/init.sh"
# Register function to be called on EXIT to remove generated binary. # Register function to be called on EXIT to remove generated binary.
......
#!/bin/bash
# Copyright 2017 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.
set -o errexit
set -o nounset
set -o pipefail
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/../../../../..
EXAMPLE_ROOT=$(dirname "${BASH_SOURCE}")/..
source "${KUBE_ROOT}/hack/lib/init.sh"
DIFFROOT="${EXAMPLE_ROOT}/pkg"
TMP_DIFFROOT="${EXAMPLE_ROOT}/_tmp/pkg"
_tmp="${EXAMPLE_ROOT}/_tmp"
cleanup() {
rm -rf "${_tmp}"
}
trap "cleanup" EXIT SIGINT
cleanup
mkdir -p "${TMP_DIFFROOT}"
cp -a "${DIFFROOT}"/* "${TMP_DIFFROOT}"
"${EXAMPLE_ROOT}/hack/update-codegen.sh"
echo "diffing ${DIFFROOT} against freshly generated codegen"
ret=0
diff -Naupr "${DIFFROOT}" "${TMP_DIFFROOT}" || ret=$?
cp -a "${TMP_DIFFROOT}"/* "${DIFFROOT}"
if [[ $ret -eq 0 ]]
then
echo "${DIFFROOT} up to date."
else
echo "${DIFFROOT} is out of date. Please run hack/update-codegen.sh"
exit 1
fi
...@@ -13899,7 +13899,6 @@ go_library( ...@@ -13899,7 +13899,6 @@ go_library(
name = "k8s.io/client-go/pkg/api", name = "k8s.io/client-go/pkg/api",
srcs = [ srcs = [
"k8s.io/client-go/pkg/api/annotation_key_constants.go", "k8s.io/client-go/pkg/api/annotation_key_constants.go",
"k8s.io/client-go/pkg/api/defaults.go",
"k8s.io/client-go/pkg/api/doc.go", "k8s.io/client-go/pkg/api/doc.go",
"k8s.io/client-go/pkg/api/field_constants.go", "k8s.io/client-go/pkg/api/field_constants.go",
"k8s.io/client-go/pkg/api/json.go", "k8s.io/client-go/pkg/api/json.go",
...@@ -14312,6 +14311,7 @@ go_library( ...@@ -14312,6 +14311,7 @@ go_library(
"k8s.io/client-go/pkg/apis/autoscaling/v2alpha1/types_swagger_doc_generated.go", "k8s.io/client-go/pkg/apis/autoscaling/v2alpha1/types_swagger_doc_generated.go",
"k8s.io/client-go/pkg/apis/autoscaling/v2alpha1/zz_generated.conversion.go", "k8s.io/client-go/pkg/apis/autoscaling/v2alpha1/zz_generated.conversion.go",
"k8s.io/client-go/pkg/apis/autoscaling/v2alpha1/zz_generated.deepcopy.go", "k8s.io/client-go/pkg/apis/autoscaling/v2alpha1/zz_generated.deepcopy.go",
"k8s.io/client-go/pkg/apis/autoscaling/v2alpha1/zz_generated.defaults.go",
], ],
tags = ["automanaged"], tags = ["automanaged"],
deps = [ deps = [
...@@ -14602,6 +14602,7 @@ go_library( ...@@ -14602,6 +14602,7 @@ go_library(
"k8s.io/client-go/pkg/apis/policy/v1beta1/types_swagger_doc_generated.go", "k8s.io/client-go/pkg/apis/policy/v1beta1/types_swagger_doc_generated.go",
"k8s.io/client-go/pkg/apis/policy/v1beta1/zz_generated.conversion.go", "k8s.io/client-go/pkg/apis/policy/v1beta1/zz_generated.conversion.go",
"k8s.io/client-go/pkg/apis/policy/v1beta1/zz_generated.deepcopy.go", "k8s.io/client-go/pkg/apis/policy/v1beta1/zz_generated.deepcopy.go",
"k8s.io/client-go/pkg/apis/policy/v1beta1/zz_generated.defaults.go",
], ],
tags = ["automanaged"], tags = ["automanaged"],
deps = [ deps = [
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment