From 46767fcbacb2394a468ed66ed77bb91e6852dbb6 Mon Sep 17 00:00:00 2001 From: deads2k Date: Wed, 1 Feb 2017 11:00:53 -0500 Subject: [PATCH] move genericvalidation to apimachinery --- pkg/api/validation/BUILD | 6 +-- pkg/api/validation/genericvalidation/BUILD | 53 ------------------- pkg/api/validation/genericvalidation/doc.go | 18 ------- pkg/api/validation/validation.go | 2 +- pkg/genericapiserver/registry/rest/BUILD | 2 +- pkg/genericapiserver/registry/rest/create.go | 2 +- pkg/genericapiserver/registry/rest/update.go | 2 +- .../pkg/api/validation}/objectmeta.go | 11 ++-- .../pkg/api/validation}/objectmeta_test.go | 5 +- vendor/BUILD | 17 ++++++ 10 files changed, 29 insertions(+), 89 deletions(-) delete mode 100644 pkg/api/validation/genericvalidation/BUILD delete mode 100644 pkg/api/validation/genericvalidation/doc.go rename {pkg/api/validation/genericvalidation => staging/src/k8s.io/apimachinery/pkg/api/validation}/objectmeta.go (95%) rename {pkg/api/validation/genericvalidation => staging/src/k8s.io/apimachinery/pkg/api/validation}/objectmeta_test.go (99%) diff --git a/pkg/api/validation/BUILD b/pkg/api/validation/BUILD index 46dc7560b49..b2e2ab0451f 100644 --- a/pkg/api/validation/BUILD +++ b/pkg/api/validation/BUILD @@ -23,7 +23,6 @@ go_library( "//pkg/api/service:go_default_library", "//pkg/api/util:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/api/validation/genericvalidation:go_default_library", "//pkg/apis/storage/util:go_default_library", "//pkg/capabilities:go_default_library", "//pkg/features:go_default_library", @@ -99,9 +98,6 @@ filegroup( filegroup( name = "all-srcs", - srcs = [ - ":package-srcs", - "//pkg/api/validation/genericvalidation:all-srcs", - ], + srcs = [":package-srcs"], tags = ["automanaged"], ) diff --git a/pkg/api/validation/genericvalidation/BUILD b/pkg/api/validation/genericvalidation/BUILD deleted file mode 100644 index 570a67fb441..00000000000 --- a/pkg/api/validation/genericvalidation/BUILD +++ /dev/null @@ -1,53 +0,0 @@ -package(default_visibility = ["//visibility:public"]) - -licenses(["notice"]) - -load( - "@io_bazel_rules_go//go:def.bzl", - "go_library", - "go_test", -) - -go_library( - name = "go_default_library", - srcs = [ - "doc.go", - "objectmeta.go", - ], - tags = ["automanaged"], - deps = [ - "//vendor:k8s.io/apimachinery/pkg/api/equality", - "//vendor:k8s.io/apimachinery/pkg/api/validation", - "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", - "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1/validation", - "//vendor:k8s.io/apimachinery/pkg/runtime/schema", - "//vendor:k8s.io/apimachinery/pkg/util/sets", - "//vendor:k8s.io/apimachinery/pkg/util/validation", - "//vendor:k8s.io/apimachinery/pkg/util/validation/field", - ], -) - -go_test( - name = "go_default_test", - srcs = ["objectmeta_test.go"], - library = ":go_default_library", - tags = ["automanaged"], - deps = [ - "//vendor:k8s.io/apimachinery/pkg/api/validation", - "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", - "//vendor:k8s.io/apimachinery/pkg/util/validation/field", - ], -) - -filegroup( - name = "package-srcs", - srcs = glob(["**"]), - tags = ["automanaged"], - visibility = ["//visibility:private"], -) - -filegroup( - name = "all-srcs", - srcs = [":package-srcs"], - tags = ["automanaged"], -) diff --git a/pkg/api/validation/genericvalidation/doc.go b/pkg/api/validation/genericvalidation/doc.go deleted file mode 100644 index a2814c4f2a4..00000000000 --- a/pkg/api/validation/genericvalidation/doc.go +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// this package is split out to snip links between the API server and the kube resource validation functions -package genericvalidation diff --git a/pkg/api/validation/validation.go b/pkg/api/validation/validation.go index 3dc0c14731f..65598335d76 100644 --- a/pkg/api/validation/validation.go +++ b/pkg/api/validation/validation.go @@ -31,6 +31,7 @@ import ( apiequality "k8s.io/apimachinery/pkg/api/equality" "k8s.io/apimachinery/pkg/api/resource" apimachineryvalidation "k8s.io/apimachinery/pkg/api/validation" + genericvalidation "k8s.io/apimachinery/pkg/api/validation" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" unversionedvalidation "k8s.io/apimachinery/pkg/apis/meta/v1/validation" "k8s.io/apimachinery/pkg/labels" @@ -43,7 +44,6 @@ import ( utilpod "k8s.io/kubernetes/pkg/api/pod" apiservice "k8s.io/kubernetes/pkg/api/service" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/api/validation/genericvalidation" storageutil "k8s.io/kubernetes/pkg/apis/storage/util" "k8s.io/kubernetes/pkg/capabilities" "k8s.io/kubernetes/pkg/features" diff --git a/pkg/genericapiserver/registry/rest/BUILD b/pkg/genericapiserver/registry/rest/BUILD index 37fc2dc09fe..1ee54f4101b 100644 --- a/pkg/genericapiserver/registry/rest/BUILD +++ b/pkg/genericapiserver/registry/rest/BUILD @@ -21,9 +21,9 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/validation/genericvalidation:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/api/validation", "//vendor:k8s.io/apimachinery/pkg/api/validation/path", "//vendor:k8s.io/apimachinery/pkg/apis/meta/internalversion", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", diff --git a/pkg/genericapiserver/registry/rest/create.go b/pkg/genericapiserver/registry/rest/create.go index 2dc7f20c669..43b5e0ad420 100644 --- a/pkg/genericapiserver/registry/rest/create.go +++ b/pkg/genericapiserver/registry/rest/create.go @@ -18,6 +18,7 @@ package rest import ( "k8s.io/apimachinery/pkg/api/errors" + genericvalidation "k8s.io/apimachinery/pkg/api/validation" "k8s.io/apimachinery/pkg/api/validation/path" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" @@ -25,7 +26,6 @@ import ( "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" "k8s.io/apiserver/pkg/storage/names" - "k8s.io/kubernetes/pkg/api/validation/genericvalidation" ) // RESTCreateStrategy defines the minimum validation, accepted input, and diff --git a/pkg/genericapiserver/registry/rest/update.go b/pkg/genericapiserver/registry/rest/update.go index 08d9efcea1a..51845bf4c39 100644 --- a/pkg/genericapiserver/registry/rest/update.go +++ b/pkg/genericapiserver/registry/rest/update.go @@ -21,11 +21,11 @@ import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/api/meta" + genericvalidation "k8s.io/apimachinery/pkg/api/validation" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" - "k8s.io/kubernetes/pkg/api/validation/genericvalidation" ) // RESTUpdateStrategy defines the minimum validation, accepted input, and diff --git a/pkg/api/validation/genericvalidation/objectmeta.go b/staging/src/k8s.io/apimachinery/pkg/api/validation/objectmeta.go similarity index 95% rename from pkg/api/validation/genericvalidation/objectmeta.go rename to staging/src/k8s.io/apimachinery/pkg/api/validation/objectmeta.go index 95a0c2247d5..f534dcc2a1a 100644 --- a/pkg/api/validation/genericvalidation/objectmeta.go +++ b/staging/src/k8s.io/apimachinery/pkg/api/validation/objectmeta.go @@ -14,14 +14,13 @@ See the License for the specific language governing permissions and limitations under the License. */ -package genericvalidation +package validation import ( "fmt" "strings" apiequality "k8s.io/apimachinery/pkg/api/equality" - apimachineyvalidation "k8s.io/apimachinery/pkg/api/validation" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" v1validation "k8s.io/apimachinery/pkg/apis/meta/v1/validation" "k8s.io/apimachinery/pkg/runtime/schema" @@ -44,7 +43,7 @@ var BannedOwners = map[schema.GroupVersionKind]struct{}{ } // ValidateClusterName can be used to check whether the given cluster name is valid. -var ValidateClusterName = apimachineyvalidation.NameIsDNS1035Label +var ValidateClusterName = NameIsDNS1035Label // ValidateAnnotations validates that a set of annotations are correctly defined. func ValidateAnnotations(annotations map[string]string, fldPath *field.Path) field.ErrorList { @@ -132,7 +131,7 @@ func ValidateImmutableField(newVal, oldVal interface{}, fldPath *field.Path) fie // ValidateObjectMeta validates an object's metadata on creation. It expects that name generation has already // been performed. // It doesn't return an error for rootscoped resources with namespace, because namespace should already be cleared before. -func ValidateObjectMeta(meta *metav1.ObjectMeta, requiresNamespace bool, nameFn apimachineyvalidation.ValidateNameFunc, fldPath *field.Path) field.ErrorList { +func ValidateObjectMeta(meta *metav1.ObjectMeta, requiresNamespace bool, nameFn ValidateNameFunc, fldPath *field.Path) field.ErrorList { allErrs := field.ErrorList{} if len(meta.GenerateName) != 0 { @@ -154,7 +153,7 @@ func ValidateObjectMeta(meta *metav1.ObjectMeta, requiresNamespace bool, nameFn if len(meta.Namespace) == 0 { allErrs = append(allErrs, field.Required(fldPath.Child("namespace"), "")) } else { - for _, msg := range apimachineyvalidation.ValidateNamespaceName(meta.Namespace, false) { + for _, msg := range ValidateNamespaceName(meta.Namespace, false) { allErrs = append(allErrs, field.Invalid(fldPath.Child("namespace"), meta.Namespace, msg)) } } @@ -168,7 +167,7 @@ func ValidateObjectMeta(meta *metav1.ObjectMeta, requiresNamespace bool, nameFn allErrs = append(allErrs, field.Invalid(fldPath.Child("clusterName"), meta.ClusterName, msg)) } } - allErrs = append(allErrs, apimachineyvalidation.ValidateNonnegativeField(meta.Generation, fldPath.Child("generation"))...) + allErrs = append(allErrs, ValidateNonnegativeField(meta.Generation, fldPath.Child("generation"))...) allErrs = append(allErrs, v1validation.ValidateLabels(meta.Labels, fldPath.Child("labels"))...) allErrs = append(allErrs, ValidateAnnotations(meta.Annotations, fldPath.Child("annotations"))...) allErrs = append(allErrs, ValidateOwnerReferences(meta.OwnerReferences, fldPath.Child("ownerReferences"))...) diff --git a/pkg/api/validation/genericvalidation/objectmeta_test.go b/staging/src/k8s.io/apimachinery/pkg/api/validation/objectmeta_test.go similarity index 99% rename from pkg/api/validation/genericvalidation/objectmeta_test.go rename to staging/src/k8s.io/apimachinery/pkg/api/validation/objectmeta_test.go index b0c5573b6a8..a76ab8777a7 100644 --- a/pkg/api/validation/genericvalidation/objectmeta_test.go +++ b/staging/src/k8s.io/apimachinery/pkg/api/validation/objectmeta_test.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package genericvalidation +package validation import ( "math/rand" @@ -23,7 +23,6 @@ import ( "testing" "time" - apimachineryvalidation "k8s.io/apimachinery/pkg/api/validation" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/validation/field" ) @@ -409,7 +408,7 @@ func TestValidateObjectMetaTrimsTrailingSlash(t *testing.T) { errs := ValidateObjectMeta( &metav1.ObjectMeta{Name: "test", GenerateName: "foo-"}, false, - apimachineryvalidation.NameIsDNSSubdomain, + NameIsDNSSubdomain, field.NewPath("field")) if len(errs) != 0 { t.Fatalf("unexpected errors: %v", errs) diff --git a/vendor/BUILD b/vendor/BUILD index ee0b5f75a8e..d90f7483e6c 100644 --- a/vendor/BUILD +++ b/vendor/BUILD @@ -7944,9 +7944,15 @@ go_library( srcs = [ "k8s.io/apimachinery/pkg/api/validation/doc.go", "k8s.io/apimachinery/pkg/api/validation/generic.go", + "k8s.io/apimachinery/pkg/api/validation/objectmeta.go", ], tags = ["automanaged"], deps = [ + "//vendor:k8s.io/apimachinery/pkg/api/equality", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1/validation", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apimachinery/pkg/util/validation", "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], @@ -14111,3 +14117,14 @@ go_library( "//vendor:k8s.io/apiserver/pkg/apis/example", ], ) + +go_test( + name = "k8s.io/apimachinery/pkg/api/validation_test", + srcs = ["k8s.io/apimachinery/pkg/api/validation/objectmeta_test.go"], + library = ":k8s.io/apimachinery/pkg/api/validation", + tags = ["automanaged"], + deps = [ + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", + ], +)