diff --git a/cmd/kube-aggregator/pkg/registry/apiservice/BUILD b/cmd/kube-aggregator/pkg/registry/apiservice/BUILD index 082e41aea2..990a9d3394 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 3a25c4fa7c..0e9a7317cb 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 a88e825e2d..ec7e10d1d6 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 ba71ea7c80..6b597b596e 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 f1196775bb..71b8e954dd 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 497ad3808f..a9c9a15659 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 25fc210cbc..23390faa0f 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 7dc1873285..dd8ac0c097 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 0ad3c9ad14..aa924c2786 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 f84c7f43e8..d38941b61c 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 355be3678b..c6ce956f87 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 dea1b3607d..ba332b60a7 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 c69c637487..e913cb17ac 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 a0de713513..5b1a895a71 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 ca8eb4b424..f1f59a2a80 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 4a5df12f7e..e6ef0cdd04 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 0f3b6f2a58..b9632ba5e9 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 ae2255f3c9..cd01c8e9da 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 b12c980883..a75c60ce29 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 9171c54aa8..0b4d42f8b4 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 340b326b5c..77532d5fa8 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 6a5fdf00fe..35081da255 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 7f58dc1bc9..7db0415835 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 f000dd66be..00dc9ea989 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 a8d43d53d8..2eecf26de2 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 ff289211d8..d5203f5685 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 c32af53cd4..a515a20eac 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 f09b36bc02..9ce61daf8d 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 acd3bbdaa7..7c1853fd6b 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 0fd044f9e3..aae6fa0a2c 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 1d73c3fd7b..ef4e0ac64d 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 2202359e82..c5d700522a 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 3c50a5cb0a..9e68fcf9ae 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 5d0ca3034c..d977ee2e32 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 456e80e12e..882315a325 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 c4afa7ed59..fcf36cd2cd 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 9cce2a0a79..1cf12f7f1d 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 a4c2e619e6..bb039cc8ea 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 74e1e60c6c..0ae9227cf7 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 53d28a06a0..9b38843742 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 d0cddc9e57..5610976fa0 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 f65f560925..8c6f403e7e 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 3771ab9298..6bc239aee8 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 1bf4e590b8..5611d61864 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 1e1b3a9434..574080f528 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 520388b74a..359b1a0a0f 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 d97263ccdd..07bf2c2ad5 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 01822cafae..c65b2b2abe 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 fd7ed585b8..633bf95b44 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 f000d04316..044ffa23f9 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 882e2c478e..63bc8460f6 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 b5624d82f4..2af39b1f1b 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 80af48ea43..229bb12593 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 88cc3ac34b..af5274a87d 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 4df0ad0f81..33683c6cb4 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 9eb056766a..e5ec6501bd 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 d6f8c2f3cf..07d74f8eb9 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 c2030a063e..0a6f34bbd5 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 6c63b45cc8..a651d796df 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 401e62b4e0..0a135222b6 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 29c9999f30..bec062ba0b 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 4a97f5f53b..146c043f4c 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 394fe71e2b..4c81de8973 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 ea5eddf0cf..9876a38601 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 e420ced502..f814875fe3 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 fd2c36b531..fd0e864237 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 d275dd737a..525923c075 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 2570edff88..4dd73d3e22 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 23cf16988f..67f1315d99 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 a9a1517a88..33ac76ccfb 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 673e657a25..95e71bcc1a 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 a6649dfb1f..b059ef59f6 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 4d6d0f1a1b..97f09fbe33 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 2c0429475d..733f3cc3f3 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 f4dcf32ba0..1e2410192a 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 498de0831e..18aee07bd6 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 15fcc41fca..43c8cd24a7 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 dcc348b360..5585853d6e 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 62e762285d..ab9b8156b2 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 dae848b250..760ed091a0 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 f8e2ab150e..aad9a07f9a 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 c34e6dad0e..d0ca08854e 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 7f4f2d0f9f..6e23388b18 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"], +)