From a3e71b2cefc755bfc83884f00ce11f2b6bdc41c4 Mon Sep 17 00:00:00 2001 From: deads2k Date: Fri, 13 Jan 2017 14:56:52 -0500 Subject: [PATCH] move name generation to generic api server storage helpers --- cmd/kube-aggregator/pkg/registry/apiservice/BUILD | 1 + .../pkg/registry/apiservice/strategy.go | 5 +++-- examples/apiserver/rest/BUILD | 1 + examples/apiserver/rest/reststorage.go | 5 +++-- federation/registry/cluster/BUILD | 1 + federation/registry/cluster/strategy.go | 5 +++-- hack/.linted_packages | 1 + pkg/api/BUILD | 3 --- pkg/api/rest/BUILD | 1 + pkg/api/rest/create.go | 7 +++++-- pkg/registry/apps/petset/BUILD | 1 + pkg/registry/apps/petset/strategy.go | 5 +++-- .../autoscaling/horizontalpodautoscaler/BUILD | 1 + .../horizontalpodautoscaler/strategy.go | 5 +++-- pkg/registry/batch/cronjob/BUILD | 1 + pkg/registry/batch/cronjob/strategy.go | 5 +++-- pkg/registry/batch/job/BUILD | 1 + pkg/registry/batch/job/strategy.go | 5 +++-- pkg/registry/certificates/certificates/BUILD | 1 + pkg/registry/certificates/certificates/strategy.go | 5 +++-- pkg/registry/core/configmap/BUILD | 1 + pkg/registry/core/configmap/strategy.go | 5 +++-- pkg/registry/core/controller/BUILD | 1 + pkg/registry/core/controller/strategy.go | 5 +++-- pkg/registry/core/endpoint/BUILD | 1 + pkg/registry/core/endpoint/strategy.go | 5 +++-- pkg/registry/core/event/BUILD | 1 + pkg/registry/core/event/strategy.go | 5 +++-- pkg/registry/core/limitrange/BUILD | 1 + pkg/registry/core/limitrange/strategy.go | 5 +++-- pkg/registry/core/namespace/BUILD | 1 + pkg/registry/core/namespace/strategy.go | 5 +++-- pkg/registry/core/node/BUILD | 1 + pkg/registry/core/node/strategy.go | 5 +++-- pkg/registry/core/persistentvolume/BUILD | 1 + pkg/registry/core/persistentvolume/strategy.go | 5 +++-- pkg/registry/core/persistentvolumeclaim/BUILD | 1 + .../core/persistentvolumeclaim/strategy.go | 5 +++-- pkg/registry/core/pod/BUILD | 1 + pkg/registry/core/pod/strategy.go | 5 +++-- pkg/registry/core/podtemplate/BUILD | 1 + pkg/registry/core/podtemplate/strategy.go | 5 +++-- pkg/registry/core/resourcequota/BUILD | 1 + pkg/registry/core/resourcequota/strategy.go | 5 +++-- pkg/registry/core/secret/BUILD | 1 + pkg/registry/core/secret/strategy.go | 5 +++-- pkg/registry/core/service/BUILD | 1 + pkg/registry/core/service/strategy.go | 5 +++-- pkg/registry/core/serviceaccount/BUILD | 1 + pkg/registry/core/serviceaccount/strategy.go | 5 +++-- pkg/registry/extensions/daemonset/BUILD | 1 + pkg/registry/extensions/daemonset/strategy.go | 5 +++-- pkg/registry/extensions/deployment/BUILD | 1 + pkg/registry/extensions/deployment/strategy.go | 5 +++-- pkg/registry/extensions/ingress/BUILD | 1 + pkg/registry/extensions/ingress/strategy.go | 5 +++-- pkg/registry/extensions/networkpolicy/BUILD | 1 + pkg/registry/extensions/networkpolicy/strategy.go | 5 +++-- pkg/registry/extensions/podsecuritypolicy/BUILD | 1 + .../extensions/podsecuritypolicy/strategy.go | 5 +++-- pkg/registry/extensions/replicaset/BUILD | 1 + pkg/registry/extensions/replicaset/strategy.go | 5 +++-- .../extensions/thirdpartyresourcedata/BUILD | 1 + .../extensions/thirdpartyresourcedata/strategy.go | 5 +++-- pkg/registry/generic/registry/BUILD | 1 + pkg/registry/generic/registry/store_test.go | 11 ++++++----- pkg/registry/policy/poddisruptionbudget/BUILD | 1 + .../policy/poddisruptionbudget/strategy.go | 5 +++-- pkg/registry/rbac/clusterrole/BUILD | 1 + pkg/registry/rbac/clusterrole/strategy.go | 5 +++-- pkg/registry/rbac/clusterrolebinding/BUILD | 1 + pkg/registry/rbac/clusterrolebinding/strategy.go | 5 +++-- pkg/registry/rbac/role/BUILD | 1 + pkg/registry/rbac/role/strategy.go | 5 +++-- pkg/registry/rbac/rolebinding/BUILD | 1 + pkg/registry/rbac/rolebinding/strategy.go | 5 +++-- pkg/registry/storage/storageclass/BUILD | 1 + pkg/registry/storage/storageclass/strategy.go | 5 +++-- plugin/pkg/admission/serviceaccount/BUILD | 1 + plugin/pkg/admission/serviceaccount/admission.go | 3 ++- .../apiserver/pkg/storage/names}/generate.go | 12 +----------- .../apiserver/pkg/storage/names}/generate_test.go | 2 +- vendor/BUILD | 14 ++++++++++++++ 83 files changed, 177 insertions(+), 95 deletions(-) rename {pkg/api => staging/src/k8s.io/apiserver/pkg/storage/names}/generate.go (80%) rename {pkg/api => staging/src/k8s.io/apiserver/pkg/storage/names}/generate_test.go (99%) diff --git a/cmd/kube-aggregator/pkg/registry/apiservice/BUILD b/cmd/kube-aggregator/pkg/registry/apiservice/BUILD index 082e41aea22..990a9d33945 100644 --- a/cmd/kube-aggregator/pkg/registry/apiservice/BUILD +++ b/cmd/kube-aggregator/pkg/registry/apiservice/BUILD @@ -22,6 +22,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/cmd/kube-aggregator/pkg/registry/apiservice/strategy.go b/cmd/kube-aggregator/pkg/registry/apiservice/strategy.go index 3a25c4fa7cf..0e9a7317cbb 100644 --- a/cmd/kube-aggregator/pkg/registry/apiservice/strategy.go +++ b/cmd/kube-aggregator/pkg/registry/apiservice/strategy.go @@ -23,6 +23,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" kapi "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/fields" "k8s.io/kubernetes/pkg/registry/generic" @@ -34,10 +35,10 @@ import ( type apiServerStrategy struct { runtime.ObjectTyper - kapi.NameGenerator + names.NameGenerator } -var Strategy = apiServerStrategy{kapi.Scheme, kapi.SimpleNameGenerator} +var Strategy = apiServerStrategy{kapi.Scheme, names.SimpleNameGenerator} func (apiServerStrategy) NamespaceScoped() bool { return false diff --git a/examples/apiserver/rest/BUILD b/examples/apiserver/rest/BUILD index a88e825e2de..ec7e10d1d6e 100644 --- a/examples/apiserver/rest/BUILD +++ b/examples/apiserver/rest/BUILD @@ -22,6 +22,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/examples/apiserver/rest/reststorage.go b/examples/apiserver/rest/reststorage.go index ba71ea7c80a..6b597b596e6 100644 --- a/examples/apiserver/rest/reststorage.go +++ b/examples/apiserver/rest/reststorage.go @@ -23,6 +23,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/test_apis/testgroup" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/fields" @@ -61,7 +62,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { type fakeStrategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } func (*fakeStrategy) NamespaceScoped() bool { return false } @@ -71,7 +72,7 @@ func (*fakeStrategy) Validate(ctx genericapirequest.Context, obj runtime.Object) } func (*fakeStrategy) Canonicalize(obj runtime.Object) {} -var strategy = &fakeStrategy{api.Scheme, api.SimpleNameGenerator} +var strategy = &fakeStrategy{api.Scheme, names.SimpleNameGenerator} func getAttrs(obj runtime.Object) (labels.Set, fields.Set, error) { testType, ok := obj.(*testgroup.TestType) diff --git a/federation/registry/cluster/BUILD b/federation/registry/cluster/BUILD index f1196775bb7..71b8e954dd5 100644 --- a/federation/registry/cluster/BUILD +++ b/federation/registry/cluster/BUILD @@ -29,6 +29,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/federation/registry/cluster/strategy.go b/federation/registry/cluster/strategy.go index 497ad3808f5..a9c9a156598 100644 --- a/federation/registry/cluster/strategy.go +++ b/federation/registry/cluster/strategy.go @@ -23,6 +23,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/federation/apis/federation" "k8s.io/kubernetes/federation/apis/federation/validation" "k8s.io/kubernetes/pkg/api" @@ -33,10 +34,10 @@ import ( type clusterStrategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } -var Strategy = clusterStrategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = clusterStrategy{api.Scheme, names.SimpleNameGenerator} func (clusterStrategy) NamespaceScoped() bool { return false diff --git a/hack/.linted_packages b/hack/.linted_packages index 25fc210cbcd..23390faa0f1 100644 --- a/hack/.linted_packages +++ b/hack/.linted_packages @@ -265,6 +265,7 @@ pkg/util/logs pkg/util/maps pkg/util/metrics pkg/util/netsh +pkg/util/rand pkg/util/ratelimit pkg/util/replicaset pkg/util/restoptions diff --git a/pkg/api/BUILD b/pkg/api/BUILD index 7dc1873285a..dd8ac0c0979 100644 --- a/pkg/api/BUILD +++ b/pkg/api/BUILD @@ -15,7 +15,6 @@ go_library( "defaults.go", "doc.go", "field_constants.go", - "generate.go", "helpers.go", "mapper.go", "meta.go", @@ -42,7 +41,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime/serializer", "//vendor:k8s.io/apimachinery/pkg/selection", "//vendor:k8s.io/apimachinery/pkg/types", - "//vendor:k8s.io/apimachinery/pkg/util/rand", "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], @@ -51,7 +49,6 @@ go_library( go_test( name = "go_default_test", srcs = [ - "generate_test.go", "helpers_test.go", "ref_test.go", "resource_helpers_test.go", diff --git a/pkg/api/rest/BUILD b/pkg/api/rest/BUILD index 0ad3c9ad140..aa924c27861 100644 --- a/pkg/api/rest/BUILD +++ b/pkg/api/rest/BUILD @@ -34,6 +34,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/api/rest/create.go b/pkg/api/rest/create.go index f84c7f43e83..d38941b61c5 100644 --- a/pkg/api/rest/create.go +++ b/pkg/api/rest/create.go @@ -22,6 +22,7 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/validation/genericvalidation" "k8s.io/kubernetes/pkg/api/validation/path" @@ -34,7 +35,7 @@ type RESTCreateStrategy interface { runtime.ObjectTyper // The name generate is used when the standard GenerateName field is set. // The NameGenerator will be invoked prior to validation. - api.NameGenerator + names.NameGenerator // NamespaceScoped returns true if the object must be within a namespace. NamespaceScoped() bool @@ -71,7 +72,9 @@ func BeforeCreate(strategy RESTCreateStrategy, ctx genericapirequest.Context, ob objectMeta.DeletionGracePeriodSeconds = nil strategy.PrepareForCreate(ctx, obj) FillObjectMetaSystemFields(ctx, objectMeta) - api.GenerateName(strategy, objectMeta) + if len(objectMeta.GenerateName) > 0 && len(objectMeta.Name) == 0 { + objectMeta.Name = strategy.GenerateName(objectMeta.GenerateName) + } // ClusterName is ignored and should not be saved objectMeta.ClusterName = "" diff --git a/pkg/registry/apps/petset/BUILD b/pkg/registry/apps/petset/BUILD index 355be3678ba..c6ce956f871 100644 --- a/pkg/registry/apps/petset/BUILD +++ b/pkg/registry/apps/petset/BUILD @@ -26,6 +26,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/apps/petset/strategy.go b/pkg/registry/apps/petset/strategy.go index dea1b3607dc..ba332b60a7e 100644 --- a/pkg/registry/apps/petset/strategy.go +++ b/pkg/registry/apps/petset/strategy.go @@ -24,6 +24,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/apps" "k8s.io/kubernetes/pkg/apis/apps/validation" @@ -35,11 +36,11 @@ import ( // statefulSetStrategy implements verification logic for Replication StatefulSets. type statefulSetStrategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } // Strategy is the default logic that applies when creating and updating Replication StatefulSet objects. -var Strategy = statefulSetStrategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = statefulSetStrategy{api.Scheme, names.SimpleNameGenerator} // NamespaceScoped returns true because all StatefulSet' need to be within a namespace. func (statefulSetStrategy) NamespaceScoped() bool { diff --git a/pkg/registry/autoscaling/horizontalpodautoscaler/BUILD b/pkg/registry/autoscaling/horizontalpodautoscaler/BUILD index c69c6374872..e913cb17ac3 100644 --- a/pkg/registry/autoscaling/horizontalpodautoscaler/BUILD +++ b/pkg/registry/autoscaling/horizontalpodautoscaler/BUILD @@ -25,6 +25,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/autoscaling/horizontalpodautoscaler/strategy.go b/pkg/registry/autoscaling/horizontalpodautoscaler/strategy.go index a0de7135139..5b1a895a71e 100644 --- a/pkg/registry/autoscaling/horizontalpodautoscaler/strategy.go +++ b/pkg/registry/autoscaling/horizontalpodautoscaler/strategy.go @@ -23,6 +23,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/autoscaling" "k8s.io/kubernetes/pkg/apis/autoscaling/validation" @@ -33,12 +34,12 @@ import ( // autoscalerStrategy implements behavior for HorizontalPodAutoscalers type autoscalerStrategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } // Strategy is the default logic that applies when creating and updating HorizontalPodAutoscaler // objects via the REST API. -var Strategy = autoscalerStrategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = autoscalerStrategy{api.Scheme, names.SimpleNameGenerator} // NamespaceScoped is true for autoscaler. func (autoscalerStrategy) NamespaceScoped() bool { diff --git a/pkg/registry/batch/cronjob/BUILD b/pkg/registry/batch/cronjob/BUILD index ca8eb4b424b..f1f59a2a804 100644 --- a/pkg/registry/batch/cronjob/BUILD +++ b/pkg/registry/batch/cronjob/BUILD @@ -26,6 +26,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/batch/cronjob/strategy.go b/pkg/registry/batch/cronjob/strategy.go index 4a5df12f7e1..e6ef0cdd04d 100644 --- a/pkg/registry/batch/cronjob/strategy.go +++ b/pkg/registry/batch/cronjob/strategy.go @@ -23,6 +23,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/apis/batch/validation" @@ -34,11 +35,11 @@ import ( // scheduledJobStrategy implements verification logic for Replication Controllers. type scheduledJobStrategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } // Strategy is the default logic that applies when creating and updating CronJob objects. -var Strategy = scheduledJobStrategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = scheduledJobStrategy{api.Scheme, names.SimpleNameGenerator} // NamespaceScoped returns true because all scheduled jobs need to be within a namespace. func (scheduledJobStrategy) NamespaceScoped() bool { diff --git a/pkg/registry/batch/job/BUILD b/pkg/registry/batch/job/BUILD index 0f3b6f2a58d..b9632ba5e92 100644 --- a/pkg/registry/batch/job/BUILD +++ b/pkg/registry/batch/job/BUILD @@ -27,6 +27,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/batch/job/strategy.go b/pkg/registry/batch/job/strategy.go index ae2255f3c91..cd01c8e9da2 100644 --- a/pkg/registry/batch/job/strategy.go +++ b/pkg/registry/batch/job/strategy.go @@ -25,6 +25,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/apis/batch/validation" @@ -36,11 +37,11 @@ import ( // jobStrategy implements verification logic for Replication Controllers. type jobStrategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } // Strategy is the default logic that applies when creating and updating Replication Controller objects. -var Strategy = jobStrategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = jobStrategy{api.Scheme, names.SimpleNameGenerator} // NamespaceScoped returns true because all jobs need to be within a namespace. func (jobStrategy) NamespaceScoped() bool { diff --git a/pkg/registry/certificates/certificates/BUILD b/pkg/registry/certificates/certificates/BUILD index b12c9808837..a75c60ce290 100644 --- a/pkg/registry/certificates/certificates/BUILD +++ b/pkg/registry/certificates/certificates/BUILD @@ -30,6 +30,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/certificates/certificates/strategy.go b/pkg/registry/certificates/certificates/strategy.go index 9171c54aa85..0b4d42f8b4b 100644 --- a/pkg/registry/certificates/certificates/strategy.go +++ b/pkg/registry/certificates/certificates/strategy.go @@ -23,6 +23,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/certificates" "k8s.io/kubernetes/pkg/apis/certificates/validation" @@ -34,12 +35,12 @@ import ( // csrStrategy implements behavior for CSRs type csrStrategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } // csrStrategy is the default logic that applies when creating and updating // CSR objects. -var Strategy = csrStrategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = csrStrategy{api.Scheme, names.SimpleNameGenerator} // NamespaceScoped is true for CSRs. func (csrStrategy) NamespaceScoped() bool { diff --git a/pkg/registry/core/configmap/BUILD b/pkg/registry/core/configmap/BUILD index 340b326b5c8..77532d5fa8f 100644 --- a/pkg/registry/core/configmap/BUILD +++ b/pkg/registry/core/configmap/BUILD @@ -29,6 +29,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/core/configmap/strategy.go b/pkg/registry/core/configmap/strategy.go index 6a5fdf00fe3..35081da255c 100644 --- a/pkg/registry/core/configmap/strategy.go +++ b/pkg/registry/core/configmap/strategy.go @@ -23,6 +23,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/api/validation" @@ -34,12 +35,12 @@ import ( // strategy implements behavior for ConfigMap objects type strategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } // Strategy is the default logic that applies when creating and updating ConfigMap // objects via the REST API. -var Strategy = strategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = strategy{api.Scheme, names.SimpleNameGenerator} // Strategy should implement rest.RESTCreateStrategy var _ rest.RESTCreateStrategy = Strategy diff --git a/pkg/registry/core/controller/BUILD b/pkg/registry/core/controller/BUILD index 7f58dc1bc91..7db0415835a 100644 --- a/pkg/registry/core/controller/BUILD +++ b/pkg/registry/core/controller/BUILD @@ -29,6 +29,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/core/controller/strategy.go b/pkg/registry/core/controller/strategy.go index f000dd66be4..00dc9ea9899 100644 --- a/pkg/registry/core/controller/strategy.go +++ b/pkg/registry/core/controller/strategy.go @@ -27,6 +27,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/api/validation" @@ -38,11 +39,11 @@ import ( // rcStrategy implements verification logic for Replication Controllers. type rcStrategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } // Strategy is the default logic that applies when creating and updating Replication Controller objects. -var Strategy = rcStrategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = rcStrategy{api.Scheme, names.SimpleNameGenerator} // DefaultGarbageCollectionPolicy returns Orphan because that was the default // behavior before the server-side garbage collection was implemented. diff --git a/pkg/registry/core/endpoint/BUILD b/pkg/registry/core/endpoint/BUILD index a8d43d53d8b..2eecf26de2e 100644 --- a/pkg/registry/core/endpoint/BUILD +++ b/pkg/registry/core/endpoint/BUILD @@ -30,6 +30,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/core/endpoint/strategy.go b/pkg/registry/core/endpoint/strategy.go index ff289211d8b..d5203f56853 100644 --- a/pkg/registry/core/endpoint/strategy.go +++ b/pkg/registry/core/endpoint/strategy.go @@ -23,6 +23,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" endptspkg "k8s.io/kubernetes/pkg/api/endpoints" "k8s.io/kubernetes/pkg/api/validation" @@ -34,12 +35,12 @@ import ( // endpointsStrategy implements behavior for Endpoints type endpointsStrategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } // Strategy is the default logic that applies when creating and updating Endpoint // objects via the REST API. -var Strategy = endpointsStrategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = endpointsStrategy{api.Scheme, names.SimpleNameGenerator} // NamespaceScoped is true for endpoints. func (endpointsStrategy) NamespaceScoped() bool { diff --git a/pkg/registry/core/event/BUILD b/pkg/registry/core/event/BUILD index c32af53cd42..a515a20eac4 100644 --- a/pkg/registry/core/event/BUILD +++ b/pkg/registry/core/event/BUILD @@ -25,6 +25,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/core/event/strategy.go b/pkg/registry/core/event/strategy.go index f09b36bc02b..9ce61daf8d3 100644 --- a/pkg/registry/core/event/strategy.go +++ b/pkg/registry/core/event/strategy.go @@ -23,6 +23,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/fields" @@ -32,12 +33,12 @@ import ( type eventStrategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } // Strategy is the default logic that pplies when creating and updating // Event objects via the REST API. -var Strategy = eventStrategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = eventStrategy{api.Scheme, names.SimpleNameGenerator} func (eventStrategy) NamespaceScoped() bool { return true diff --git a/pkg/registry/core/limitrange/BUILD b/pkg/registry/core/limitrange/BUILD index acd3bbdaa79..7c1853fd6b8 100644 --- a/pkg/registry/core/limitrange/BUILD +++ b/pkg/registry/core/limitrange/BUILD @@ -25,6 +25,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/core/limitrange/strategy.go b/pkg/registry/core/limitrange/strategy.go index 0fd044f9e37..aae6fa0a2c0 100644 --- a/pkg/registry/core/limitrange/strategy.go +++ b/pkg/registry/core/limitrange/strategy.go @@ -23,6 +23,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/fields" @@ -32,12 +33,12 @@ import ( type limitrangeStrategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } // Strategy is the default logic that applies when creating and updating // LimitRange objects via the REST API. -var Strategy = limitrangeStrategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = limitrangeStrategy{api.Scheme, names.SimpleNameGenerator} func (limitrangeStrategy) NamespaceScoped() bool { return true diff --git a/pkg/registry/core/namespace/BUILD b/pkg/registry/core/namespace/BUILD index 1d73c3fd7b0..ef4e0ac64db 100644 --- a/pkg/registry/core/namespace/BUILD +++ b/pkg/registry/core/namespace/BUILD @@ -29,6 +29,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/core/namespace/strategy.go b/pkg/registry/core/namespace/strategy.go index 2202359e82b..c5d700522aa 100644 --- a/pkg/registry/core/namespace/strategy.go +++ b/pkg/registry/core/namespace/strategy.go @@ -23,6 +23,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/fields" @@ -33,12 +34,12 @@ import ( // namespaceStrategy implements behavior for Namespaces type namespaceStrategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } // Strategy is the default logic that applies when creating and updating Namespace // objects via the REST API. -var Strategy = namespaceStrategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = namespaceStrategy{api.Scheme, names.SimpleNameGenerator} // NamespaceScoped is false for namespaces. func (namespaceStrategy) NamespaceScoped() bool { diff --git a/pkg/registry/core/node/BUILD b/pkg/registry/core/node/BUILD index 3c50a5cb0a8..9e68fcf9ae4 100644 --- a/pkg/registry/core/node/BUILD +++ b/pkg/registry/core/node/BUILD @@ -33,6 +33,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/core/node/strategy.go b/pkg/registry/core/node/strategy.go index 5d0ca3034c0..d977ee2e32e 100644 --- a/pkg/registry/core/node/strategy.go +++ b/pkg/registry/core/node/strategy.go @@ -30,6 +30,7 @@ import ( utilnet "k8s.io/apimachinery/pkg/util/net" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/fields" @@ -41,12 +42,12 @@ import ( // nodeStrategy implements behavior for nodes type nodeStrategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } // Nodes is the default logic that applies when creating and updating Node // objects. -var Strategy = nodeStrategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = nodeStrategy{api.Scheme, names.SimpleNameGenerator} // NamespaceScoped is false for nodes. func (nodeStrategy) NamespaceScoped() bool { diff --git a/pkg/registry/core/persistentvolume/BUILD b/pkg/registry/core/persistentvolume/BUILD index 456e80e12e2..882315a3258 100644 --- a/pkg/registry/core/persistentvolume/BUILD +++ b/pkg/registry/core/persistentvolume/BUILD @@ -25,6 +25,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/core/persistentvolume/strategy.go b/pkg/registry/core/persistentvolume/strategy.go index c4afa7ed598..fcf36cd2cd8 100644 --- a/pkg/registry/core/persistentvolume/strategy.go +++ b/pkg/registry/core/persistentvolume/strategy.go @@ -23,6 +23,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/fields" @@ -33,12 +34,12 @@ import ( // persistentvolumeStrategy implements behavior for PersistentVolume objects type persistentvolumeStrategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } // Strategy is the default logic that applies when creating and updating PersistentVolume // objects via the REST API. -var Strategy = persistentvolumeStrategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = persistentvolumeStrategy{api.Scheme, names.SimpleNameGenerator} func (persistentvolumeStrategy) NamespaceScoped() bool { return false diff --git a/pkg/registry/core/persistentvolumeclaim/BUILD b/pkg/registry/core/persistentvolumeclaim/BUILD index 9cce2a0a795..1cf12f7f1db 100644 --- a/pkg/registry/core/persistentvolumeclaim/BUILD +++ b/pkg/registry/core/persistentvolumeclaim/BUILD @@ -25,6 +25,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/core/persistentvolumeclaim/strategy.go b/pkg/registry/core/persistentvolumeclaim/strategy.go index a4c2e619e6e..bb039cc8eaf 100644 --- a/pkg/registry/core/persistentvolumeclaim/strategy.go +++ b/pkg/registry/core/persistentvolumeclaim/strategy.go @@ -23,6 +23,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/fields" @@ -33,12 +34,12 @@ import ( // persistentvolumeclaimStrategy implements behavior for PersistentVolumeClaim objects type persistentvolumeclaimStrategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } // Strategy is the default logic that applies when creating and updating PersistentVolumeClaim // objects via the REST API. -var Strategy = persistentvolumeclaimStrategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = persistentvolumeclaimStrategy{api.Scheme, names.SimpleNameGenerator} func (persistentvolumeclaimStrategy) NamespaceScoped() bool { return true diff --git a/pkg/registry/core/pod/BUILD b/pkg/registry/core/pod/BUILD index 74e1e60c6c0..0ae9227cf76 100644 --- a/pkg/registry/core/pod/BUILD +++ b/pkg/registry/core/pod/BUILD @@ -31,6 +31,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/net", "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/core/pod/strategy.go b/pkg/registry/core/pod/strategy.go index 53d28a06a05..9b388437426 100644 --- a/pkg/registry/core/pod/strategy.go +++ b/pkg/registry/core/pod/strategy.go @@ -33,6 +33,7 @@ import ( utilnet "k8s.io/apimachinery/pkg/util/net" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/fields" @@ -45,12 +46,12 @@ import ( // podStrategy implements behavior for Pods type podStrategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } // Strategy is the default logic that applies when creating and updating Pod // objects via the REST API. -var Strategy = podStrategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = podStrategy{api.Scheme, names.SimpleNameGenerator} // NamespaceScoped is true for pods. func (podStrategy) NamespaceScoped() bool { diff --git a/pkg/registry/core/podtemplate/BUILD b/pkg/registry/core/podtemplate/BUILD index d0cddc9e57d..5610976fa0f 100644 --- a/pkg/registry/core/podtemplate/BUILD +++ b/pkg/registry/core/podtemplate/BUILD @@ -24,6 +24,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/core/podtemplate/strategy.go b/pkg/registry/core/podtemplate/strategy.go index f65f5609257..8c6f403e7e7 100644 --- a/pkg/registry/core/podtemplate/strategy.go +++ b/pkg/registry/core/podtemplate/strategy.go @@ -23,6 +23,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/fields" @@ -32,12 +33,12 @@ import ( // podTemplateStrategy implements behavior for PodTemplates type podTemplateStrategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } // Strategy is the default logic that applies when creating and updating PodTemplate // objects via the REST API. -var Strategy = podTemplateStrategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = podTemplateStrategy{api.Scheme, names.SimpleNameGenerator} // NamespaceScoped is true for pod templates. func (podTemplateStrategy) NamespaceScoped() bool { diff --git a/pkg/registry/core/resourcequota/BUILD b/pkg/registry/core/resourcequota/BUILD index 3771ab9298e..6bc239aee84 100644 --- a/pkg/registry/core/resourcequota/BUILD +++ b/pkg/registry/core/resourcequota/BUILD @@ -25,6 +25,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/core/resourcequota/strategy.go b/pkg/registry/core/resourcequota/strategy.go index 1bf4e590b89..5611d618641 100644 --- a/pkg/registry/core/resourcequota/strategy.go +++ b/pkg/registry/core/resourcequota/strategy.go @@ -23,6 +23,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/fields" @@ -33,12 +34,12 @@ import ( // resourcequotaStrategy implements behavior for ResourceQuota objects type resourcequotaStrategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } // Strategy is the default logic that applies when creating and updating ResourceQuota // objects via the REST API. -var Strategy = resourcequotaStrategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = resourcequotaStrategy{api.Scheme, names.SimpleNameGenerator} // NamespaceScoped is true for resourcequotas. func (resourcequotaStrategy) NamespaceScoped() bool { diff --git a/pkg/registry/core/secret/BUILD b/pkg/registry/core/secret/BUILD index 1e1b3a94341..574080f5280 100644 --- a/pkg/registry/core/secret/BUILD +++ b/pkg/registry/core/secret/BUILD @@ -30,6 +30,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/core/secret/strategy.go b/pkg/registry/core/secret/strategy.go index 520388b74a3..359b1a0a0fa 100644 --- a/pkg/registry/core/secret/strategy.go +++ b/pkg/registry/core/secret/strategy.go @@ -24,6 +24,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/api/validation" @@ -35,12 +36,12 @@ import ( // strategy implements behavior for Secret objects type strategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } // Strategy is the default logic that applies when creating and updating Secret // objects via the REST API. -var Strategy = strategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = strategy{api.Scheme, names.SimpleNameGenerator} var _ = rest.RESTCreateStrategy(Strategy) diff --git a/pkg/registry/core/service/BUILD b/pkg/registry/core/service/BUILD index d97263ccdd9..07bf2c2ad5c 100644 --- a/pkg/registry/core/service/BUILD +++ b/pkg/registry/core/service/BUILD @@ -42,6 +42,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/core/service/strategy.go b/pkg/registry/core/service/strategy.go index 01822cafaee..c65b2b2abe7 100644 --- a/pkg/registry/core/service/strategy.go +++ b/pkg/registry/core/service/strategy.go @@ -23,6 +23,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/fields" @@ -33,12 +34,12 @@ import ( // svcStrategy implements behavior for Services type svcStrategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } // Services is the default logic that applies when creating and updating Service // objects. -var Strategy = svcStrategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = svcStrategy{api.Scheme, names.SimpleNameGenerator} // NamespaceScoped is true for services. func (svcStrategy) NamespaceScoped() bool { diff --git a/pkg/registry/core/serviceaccount/BUILD b/pkg/registry/core/serviceaccount/BUILD index fd7ed585b86..633bf95b44a 100644 --- a/pkg/registry/core/serviceaccount/BUILD +++ b/pkg/registry/core/serviceaccount/BUILD @@ -29,6 +29,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/core/serviceaccount/strategy.go b/pkg/registry/core/serviceaccount/strategy.go index f000d043161..044ffa23f94 100644 --- a/pkg/registry/core/serviceaccount/strategy.go +++ b/pkg/registry/core/serviceaccount/strategy.go @@ -23,6 +23,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/fields" @@ -33,12 +34,12 @@ import ( // strategy implements behavior for ServiceAccount objects type strategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } // Strategy is the default logic that applies when creating and updating ServiceAccount // objects via the REST API. -var Strategy = strategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = strategy{api.Scheme, names.SimpleNameGenerator} func (strategy) NamespaceScoped() bool { return true diff --git a/pkg/registry/extensions/daemonset/BUILD b/pkg/registry/extensions/daemonset/BUILD index 882e2c478e9..63bc8460f67 100644 --- a/pkg/registry/extensions/daemonset/BUILD +++ b/pkg/registry/extensions/daemonset/BUILD @@ -26,6 +26,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/extensions/daemonset/strategy.go b/pkg/registry/extensions/daemonset/strategy.go index b5624d82f46..2af39b1f1b2 100644 --- a/pkg/registry/extensions/daemonset/strategy.go +++ b/pkg/registry/extensions/daemonset/strategy.go @@ -24,6 +24,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/apis/extensions/validation" @@ -35,11 +36,11 @@ import ( // daemonSetStrategy implements verification logic for daemon sets. type daemonSetStrategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } // Strategy is the default logic that applies when creating and updating DaemonSet objects. -var Strategy = daemonSetStrategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = daemonSetStrategy{api.Scheme, names.SimpleNameGenerator} // NamespaceScoped returns true because all DaemonSets need to be within a namespace. func (daemonSetStrategy) NamespaceScoped() bool { diff --git a/pkg/registry/extensions/deployment/BUILD b/pkg/registry/extensions/deployment/BUILD index 80af48ea43c..229bb125935 100644 --- a/pkg/registry/extensions/deployment/BUILD +++ b/pkg/registry/extensions/deployment/BUILD @@ -30,6 +30,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/extensions/deployment/strategy.go b/pkg/registry/extensions/deployment/strategy.go index 88cc3ac34b0..af5274a87d7 100644 --- a/pkg/registry/extensions/deployment/strategy.go +++ b/pkg/registry/extensions/deployment/strategy.go @@ -26,6 +26,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/extensions" @@ -39,12 +40,12 @@ import ( // deploymentStrategy implements behavior for Deployments. type deploymentStrategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } // Strategy is the default logic that applies when creating and updating Deployment // objects via the REST API. -var Strategy = deploymentStrategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = deploymentStrategy{api.Scheme, names.SimpleNameGenerator} // DefaultGarbageCollectionPolicy returns Orphan because that's the default // behavior before the server-side garbage collection is implemented. diff --git a/pkg/registry/extensions/ingress/BUILD b/pkg/registry/extensions/ingress/BUILD index 4df0ad0f810..33683c6cb4f 100644 --- a/pkg/registry/extensions/ingress/BUILD +++ b/pkg/registry/extensions/ingress/BUILD @@ -26,6 +26,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/extensions/ingress/strategy.go b/pkg/registry/extensions/ingress/strategy.go index 9eb056766a8..e5ec6501bd9 100644 --- a/pkg/registry/extensions/ingress/strategy.go +++ b/pkg/registry/extensions/ingress/strategy.go @@ -24,6 +24,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/apis/extensions/validation" @@ -35,11 +36,11 @@ import ( // ingressStrategy implements verification logic for Replication Ingresss. type ingressStrategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } // Strategy is the default logic that applies when creating and updating Replication Ingress objects. -var Strategy = ingressStrategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = ingressStrategy{api.Scheme, names.SimpleNameGenerator} // NamespaceScoped returns true because all Ingress' need to be within a namespace. func (ingressStrategy) NamespaceScoped() bool { diff --git a/pkg/registry/extensions/networkpolicy/BUILD b/pkg/registry/extensions/networkpolicy/BUILD index d6f8c2f3cff..07d74f8eb9b 100644 --- a/pkg/registry/extensions/networkpolicy/BUILD +++ b/pkg/registry/extensions/networkpolicy/BUILD @@ -26,6 +26,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/extensions/networkpolicy/strategy.go b/pkg/registry/extensions/networkpolicy/strategy.go index c2030a063eb..0a6f34bbd54 100644 --- a/pkg/registry/extensions/networkpolicy/strategy.go +++ b/pkg/registry/extensions/networkpolicy/strategy.go @@ -24,6 +24,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/apis/extensions/validation" @@ -35,11 +36,11 @@ import ( // networkPolicyStrategy implements verification logic for NetworkPolicys. type networkPolicyStrategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } // Strategy is the default logic that applies when creating and updating NetworkPolicy objects. -var Strategy = networkPolicyStrategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = networkPolicyStrategy{api.Scheme, names.SimpleNameGenerator} // NamespaceScoped returns true because all NetworkPolicys need to be within a namespace. func (networkPolicyStrategy) NamespaceScoped() bool { diff --git a/pkg/registry/extensions/podsecuritypolicy/BUILD b/pkg/registry/extensions/podsecuritypolicy/BUILD index 6c63b45cc89..a651d796df8 100644 --- a/pkg/registry/extensions/podsecuritypolicy/BUILD +++ b/pkg/registry/extensions/podsecuritypolicy/BUILD @@ -26,6 +26,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/extensions/podsecuritypolicy/strategy.go b/pkg/registry/extensions/podsecuritypolicy/strategy.go index 401e62b4e03..0a135222b6c 100644 --- a/pkg/registry/extensions/podsecuritypolicy/strategy.go +++ b/pkg/registry/extensions/podsecuritypolicy/strategy.go @@ -23,6 +23,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/extensions" @@ -35,12 +36,12 @@ import ( // strategy implements behavior for PodSecurityPolicy objects type strategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } // Strategy is the default logic that applies when creating and updating PodSecurityPolicy // objects via the REST API. -var Strategy = strategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = strategy{api.Scheme, names.SimpleNameGenerator} var _ = rest.RESTCreateStrategy(Strategy) diff --git a/pkg/registry/extensions/replicaset/BUILD b/pkg/registry/extensions/replicaset/BUILD index 29c9999f30b..bec062ba0b7 100644 --- a/pkg/registry/extensions/replicaset/BUILD +++ b/pkg/registry/extensions/replicaset/BUILD @@ -30,6 +30,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/extensions/replicaset/strategy.go b/pkg/registry/extensions/replicaset/strategy.go index 4a97f5f53bb..146c043f4c3 100644 --- a/pkg/registry/extensions/replicaset/strategy.go +++ b/pkg/registry/extensions/replicaset/strategy.go @@ -27,6 +27,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/extensions" @@ -39,11 +40,11 @@ import ( // rsStrategy implements verification logic for ReplicaSets. type rsStrategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } // Strategy is the default logic that applies when creating and updating ReplicaSet objects. -var Strategy = rsStrategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = rsStrategy{api.Scheme, names.SimpleNameGenerator} // DefaultGarbageCollectionPolicy returns Orphan because that's the default // behavior before the server-side garbage collection is implemented. diff --git a/pkg/registry/extensions/thirdpartyresourcedata/BUILD b/pkg/registry/extensions/thirdpartyresourcedata/BUILD index 394fe71e2b9..4c81de8973e 100644 --- a/pkg/registry/extensions/thirdpartyresourcedata/BUILD +++ b/pkg/registry/extensions/thirdpartyresourcedata/BUILD @@ -37,6 +37,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/yaml", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/extensions/thirdpartyresourcedata/strategy.go b/pkg/registry/extensions/thirdpartyresourcedata/strategy.go index ea5eddf0cfa..9876a386016 100644 --- a/pkg/registry/extensions/thirdpartyresourcedata/strategy.go +++ b/pkg/registry/extensions/thirdpartyresourcedata/strategy.go @@ -23,6 +23,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/extensions" @@ -34,12 +35,12 @@ import ( // strategy implements behavior for ThirdPartyResource objects type strategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } // Strategy is the default logic that applies when creating and updating ThirdPartyResource // objects via the REST API. -var Strategy = strategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = strategy{api.Scheme, names.SimpleNameGenerator} var _ = rest.RESTCreateStrategy(Strategy) diff --git a/pkg/registry/generic/registry/BUILD b/pkg/registry/generic/registry/BUILD index e420ced502d..f814875fe37 100644 --- a/pkg/registry/generic/registry/BUILD +++ b/pkg/registry/generic/registry/BUILD @@ -74,6 +74,7 @@ go_test( "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/generic/registry/store_test.go b/pkg/registry/generic/registry/store_test.go index fd2c36b5312..fd0e8642376 100644 --- a/pkg/registry/generic/registry/store_test.go +++ b/pkg/registry/generic/registry/store_test.go @@ -35,6 +35,7 @@ import ( "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/apimachinery/pkg/util/wait" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/api/testapi" @@ -68,7 +69,7 @@ func (t *testOrphanDeleteStrategy) DefaultGarbageCollectionPolicy() rest.Garbage type testRESTStrategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator namespaceScoped bool allowCreateOnUpdate bool allowUnconditionalUpdate bool @@ -640,7 +641,7 @@ func TestGracefulStoreCanDeleteIfExistingGracePeriodZero(t *testing.T) { testContext := genericapirequest.WithNamespace(genericapirequest.NewContext(), "test") destroyFunc, registry := NewTestGenericStoreRegistry(t) registry.EnableGarbageCollection = false - defaultDeleteStrategy := testRESTStrategy{api.Scheme, api.SimpleNameGenerator, true, false, true} + defaultDeleteStrategy := testRESTStrategy{api.Scheme, names.SimpleNameGenerator, true, false, true} registry.DeleteStrategy = testGracefulStrategy{defaultDeleteStrategy} defer destroyFunc() @@ -666,7 +667,7 @@ func TestGracefulStoreHandleFinalizers(t *testing.T) { testContext := genericapirequest.WithNamespace(genericapirequest.NewContext(), "test") destroyFunc, registry := NewTestGenericStoreRegistry(t) registry.EnableGarbageCollection = true - defaultDeleteStrategy := testRESTStrategy{api.Scheme, api.SimpleNameGenerator, true, false, true} + defaultDeleteStrategy := testRESTStrategy{api.Scheme, names.SimpleNameGenerator, true, false, true} registry.DeleteStrategy = testGracefulStrategy{defaultDeleteStrategy} defer destroyFunc() // create pod @@ -823,7 +824,7 @@ func TestStoreDeleteWithOrphanDependents(t *testing.T) { nilOrphanOptions := &api.DeleteOptions{} // defaultDeleteStrategy doesn't implement rest.GarbageCollectionDeleteStrategy. - defaultDeleteStrategy := &testRESTStrategy{api.Scheme, api.SimpleNameGenerator, true, false, true} + defaultDeleteStrategy := &testRESTStrategy{api.Scheme, names.SimpleNameGenerator, true, false, true} // orphanDeleteStrategy indicates the default garbage collection policy is // to orphan dependentes. orphanDeleteStrategy := &testOrphanDeleteStrategy{defaultDeleteStrategy} @@ -1233,7 +1234,7 @@ func TestStoreWatch(t *testing.T) { func newTestGenericStoreRegistry(t *testing.T, hasCacheEnabled bool) (factory.DestroyFunc, *Store) { podPrefix := "/pods" server, sc := etcdtesting.NewUnsecuredEtcd3TestClientServer(t) - strategy := &testRESTStrategy{api.Scheme, api.SimpleNameGenerator, true, false, true} + strategy := &testRESTStrategy{api.Scheme, names.SimpleNameGenerator, true, false, true} sc.Codec = testapi.Default.StorageCodec() s, dFunc, err := factory.Create(*sc) diff --git a/pkg/registry/policy/poddisruptionbudget/BUILD b/pkg/registry/policy/poddisruptionbudget/BUILD index d275dd737a8..525923c0751 100644 --- a/pkg/registry/policy/poddisruptionbudget/BUILD +++ b/pkg/registry/policy/poddisruptionbudget/BUILD @@ -26,6 +26,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/policy/poddisruptionbudget/strategy.go b/pkg/registry/policy/poddisruptionbudget/strategy.go index 2570edff884..4dd73d3e221 100644 --- a/pkg/registry/policy/poddisruptionbudget/strategy.go +++ b/pkg/registry/policy/poddisruptionbudget/strategy.go @@ -24,6 +24,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/policy" "k8s.io/kubernetes/pkg/apis/policy/validation" @@ -35,11 +36,11 @@ import ( // podDisruptionBudgetStrategy implements verification logic for PodDisruptionBudgets. type podDisruptionBudgetStrategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } // Strategy is the default logic that applies when creating and updating PodDisruptionBudget objects. -var Strategy = podDisruptionBudgetStrategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = podDisruptionBudgetStrategy{api.Scheme, names.SimpleNameGenerator} // NamespaceScoped returns true because all PodDisruptionBudget' need to be within a namespace. func (podDisruptionBudgetStrategy) NamespaceScoped() bool { diff --git a/pkg/registry/rbac/clusterrole/BUILD b/pkg/registry/rbac/clusterrole/BUILD index 23cf16988f8..67f1315d99a 100644 --- a/pkg/registry/rbac/clusterrole/BUILD +++ b/pkg/registry/rbac/clusterrole/BUILD @@ -28,6 +28,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/rbac/clusterrole/strategy.go b/pkg/registry/rbac/clusterrole/strategy.go index a9a1517a883..33ac76ccfb9 100644 --- a/pkg/registry/rbac/clusterrole/strategy.go +++ b/pkg/registry/rbac/clusterrole/strategy.go @@ -23,6 +23,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/rbac" @@ -34,12 +35,12 @@ import ( // strategy implements behavior for ClusterRoles type strategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } // strategy is the default logic that applies when creating and updating // ClusterRole objects. -var Strategy = strategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = strategy{api.Scheme, names.SimpleNameGenerator} // Strategy should implement rest.RESTCreateStrategy var _ rest.RESTCreateStrategy = Strategy diff --git a/pkg/registry/rbac/clusterrolebinding/BUILD b/pkg/registry/rbac/clusterrolebinding/BUILD index 673e657a25b..95e71bcc1af 100644 --- a/pkg/registry/rbac/clusterrolebinding/BUILD +++ b/pkg/registry/rbac/clusterrolebinding/BUILD @@ -28,6 +28,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/rbac/clusterrolebinding/strategy.go b/pkg/registry/rbac/clusterrolebinding/strategy.go index a6649dfb1fb..b059ef59f65 100644 --- a/pkg/registry/rbac/clusterrolebinding/strategy.go +++ b/pkg/registry/rbac/clusterrolebinding/strategy.go @@ -23,6 +23,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/rbac" @@ -34,12 +35,12 @@ import ( // strategy implements behavior for ClusterRoleBindings type strategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } // strategy is the default logic that applies when creating and updating // ClusterRoleBinding objects. -var Strategy = strategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = strategy{api.Scheme, names.SimpleNameGenerator} // Strategy should implement rest.RESTCreateStrategy var _ rest.RESTCreateStrategy = Strategy diff --git a/pkg/registry/rbac/role/BUILD b/pkg/registry/rbac/role/BUILD index 4d6d0f1a1b4..97f09fbe33b 100644 --- a/pkg/registry/rbac/role/BUILD +++ b/pkg/registry/rbac/role/BUILD @@ -28,6 +28,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/rbac/role/strategy.go b/pkg/registry/rbac/role/strategy.go index 2c0429475da..733f3cc3f39 100644 --- a/pkg/registry/rbac/role/strategy.go +++ b/pkg/registry/rbac/role/strategy.go @@ -23,6 +23,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/rbac" @@ -34,12 +35,12 @@ import ( // strategy implements behavior for Roles type strategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } // strategy is the default logic that applies when creating and updating // Role objects. -var Strategy = strategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = strategy{api.Scheme, names.SimpleNameGenerator} // Strategy should implement rest.RESTCreateStrategy var _ rest.RESTCreateStrategy = Strategy diff --git a/pkg/registry/rbac/rolebinding/BUILD b/pkg/registry/rbac/rolebinding/BUILD index f4dcf32ba09..1e2410192a9 100644 --- a/pkg/registry/rbac/rolebinding/BUILD +++ b/pkg/registry/rbac/rolebinding/BUILD @@ -28,6 +28,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/rbac/rolebinding/strategy.go b/pkg/registry/rbac/rolebinding/strategy.go index 498de0831ef..18aee07bd65 100644 --- a/pkg/registry/rbac/rolebinding/strategy.go +++ b/pkg/registry/rbac/rolebinding/strategy.go @@ -23,6 +23,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/rbac" @@ -34,12 +35,12 @@ import ( // strategy implements behavior for RoleBindings type strategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } // strategy is the default logic that applies when creating and updating // RoleBinding objects. -var Strategy = strategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = strategy{api.Scheme, names.SimpleNameGenerator} // Strategy should implement rest.RESTCreateStrategy var _ rest.RESTCreateStrategy = Strategy diff --git a/pkg/registry/storage/storageclass/BUILD b/pkg/registry/storage/storageclass/BUILD index 15fcc41fca9..43c8cd24a75 100644 --- a/pkg/registry/storage/storageclass/BUILD +++ b/pkg/registry/storage/storageclass/BUILD @@ -26,6 +26,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apiserver/pkg/request", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/pkg/registry/storage/storageclass/strategy.go b/pkg/registry/storage/storageclass/strategy.go index dcc348b360c..5585853d6e8 100644 --- a/pkg/registry/storage/storageclass/strategy.go +++ b/pkg/registry/storage/storageclass/strategy.go @@ -23,6 +23,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/request" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/storage" "k8s.io/kubernetes/pkg/apis/storage/validation" @@ -34,12 +35,12 @@ import ( // storageClassStrategy implements behavior for StorageClass objects type storageClassStrategy struct { runtime.ObjectTyper - api.NameGenerator + names.NameGenerator } // Strategy is the default logic that applies when creating and updating // StorageClass objects via the REST API. -var Strategy = storageClassStrategy{api.Scheme, api.SimpleNameGenerator} +var Strategy = storageClassStrategy{api.Scheme, names.SimpleNameGenerator} func (storageClassStrategy) NamespaceScoped() bool { return false diff --git a/plugin/pkg/admission/serviceaccount/BUILD b/plugin/pkg/admission/serviceaccount/BUILD index 62e762285da..ab9b8156b2d 100644 --- a/plugin/pkg/admission/serviceaccount/BUILD +++ b/plugin/pkg/admission/serviceaccount/BUILD @@ -31,6 +31,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime/schema", "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/apiserver/pkg/storage/names", ], ) diff --git a/plugin/pkg/admission/serviceaccount/admission.go b/plugin/pkg/admission/serviceaccount/admission.go index dae848b2507..760ed091a04 100644 --- a/plugin/pkg/admission/serviceaccount/admission.go +++ b/plugin/pkg/admission/serviceaccount/admission.go @@ -29,6 +29,7 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/watch" + "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" @@ -428,7 +429,7 @@ func (s *serviceAccount) mountServiceAccountToken(serviceAccount *api.ServiceAcc // Try naming the volume the same as the serviceAccountToken, and uniquify if needed tokenVolumeName = serviceAccountToken if allVolumeNames.Has(tokenVolumeName) { - tokenVolumeName = api.SimpleNameGenerator.GenerateName(fmt.Sprintf("%s-", serviceAccountToken)) + tokenVolumeName = names.SimpleNameGenerator.GenerateName(fmt.Sprintf("%s-", serviceAccountToken)) } } diff --git a/pkg/api/generate.go b/staging/src/k8s.io/apiserver/pkg/storage/names/generate.go similarity index 80% rename from pkg/api/generate.go rename to staging/src/k8s.io/apiserver/pkg/storage/names/generate.go index f8e2ab150e4..aad9a07f9ad 100644 --- a/pkg/api/generate.go +++ b/staging/src/k8s.io/apiserver/pkg/storage/names/generate.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package api +package names import ( "fmt" @@ -31,16 +31,6 @@ type NameGenerator interface { GenerateName(base string) string } -// GenerateName will resolve the object name of the provided ObjectMeta to a generated version if -// necessary. It expects that validation for ObjectMeta has already completed (that Base is a -// valid name) and that the NameGenerator generates a name that is also valid. -func GenerateName(u NameGenerator, meta *ObjectMeta) { - if len(meta.GenerateName) == 0 || len(meta.Name) != 0 { - return - } - meta.Name = u.GenerateName(meta.GenerateName) -} - // simpleNameGenerator generates random names. type simpleNameGenerator struct{} diff --git a/pkg/api/generate_test.go b/staging/src/k8s.io/apiserver/pkg/storage/names/generate_test.go similarity index 99% rename from pkg/api/generate_test.go rename to staging/src/k8s.io/apiserver/pkg/storage/names/generate_test.go index c34e6dad0ee..d0ca08854eb 100644 --- a/pkg/api/generate_test.go +++ b/staging/src/k8s.io/apiserver/pkg/storage/names/generate_test.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package api +package names import ( "strings" diff --git a/vendor/BUILD b/vendor/BUILD index 7f4f2d0f9f1..6e23388b186 100644 --- a/vendor/BUILD +++ b/vendor/BUILD @@ -13354,3 +13354,17 @@ go_library( srcs = ["k8s.io/apimachinery/pkg/util/rand/rand.go"], tags = ["automanaged"], ) + +go_test( + name = "k8s.io/apiserver/pkg/storage/names_test", + srcs = ["k8s.io/apiserver/pkg/storage/names/generate_test.go"], + library = ":k8s.io/apiserver/pkg/storage/names", + tags = ["automanaged"], +) + +go_library( + name = "k8s.io/apiserver/pkg/storage/names", + srcs = ["k8s.io/apiserver/pkg/storage/names/generate.go"], + tags = ["automanaged"], + deps = ["//vendor:k8s.io/apimachinery/pkg/util/rand"], +)