diff --git a/pkg/apis/apps/validation/BUILD b/pkg/apis/apps/validation/BUILD index 65e2be76f03..b1468e1f930 100644 --- a/pkg/apis/apps/validation/BUILD +++ b/pkg/apis/apps/validation/BUILD @@ -15,6 +15,7 @@ go_library( "//pkg/apis/core:go_default_library", "//pkg/apis/core/validation:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/equality:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/api/validation:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/validation:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library", diff --git a/pkg/apis/apps/validation/validation.go b/pkg/apis/apps/validation/validation.go index 8072c953a1d..5653d7cad75 100644 --- a/pkg/apis/apps/validation/validation.go +++ b/pkg/apis/apps/validation/validation.go @@ -20,6 +20,7 @@ import ( "fmt" apiequality "k8s.io/apimachinery/pkg/api/equality" + apimachineryvalidation "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" @@ -36,7 +37,7 @@ func ValidateStatefulSetName(name string, prefix bool) []string { // TODO: Validate that there's name for the suffix inserted by the pods. // Currently this is just "-index". In the future we may allow a user // specified list of suffixes and we need to validate the longest one. - return apivalidation.NameIsDNSSubdomain(name, prefix) + return apimachineryvalidation.NameIsDNSSubdomain(name, prefix) } // Validates the given template and ensures that it is in accordance with the desired selector. @@ -208,7 +209,7 @@ func ValidateStatefulSetStatusUpdate(statefulSet, oldStatefulSet *apps.StatefulS // ValidateControllerRevisionName can be used to check whether the given ControllerRevision name is valid. // Prefix indicates this name will be used as part of generation, in which case // trailing dashes are allowed. -var ValidateControllerRevisionName = apivalidation.NameIsDNSSubdomain +var ValidateControllerRevisionName = apimachineryvalidation.NameIsDNSSubdomain // ValidateControllerRevision collects errors for the fields of state and returns those errors as an ErrorList. If the // returned list is empty, state is valid. Validation is performed to ensure that state is a valid ObjectMeta, its name diff --git a/pkg/apis/autoscaling/validation/BUILD b/pkg/apis/autoscaling/validation/BUILD index fb896feee99..c1f62aab787 100644 --- a/pkg/apis/autoscaling/validation/BUILD +++ b/pkg/apis/autoscaling/validation/BUILD @@ -13,6 +13,7 @@ go_library( deps = [ "//pkg/apis/autoscaling:go_default_library", "//pkg/apis/core/validation:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/api/validation:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/validation/path:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", diff --git a/pkg/apis/autoscaling/validation/validation.go b/pkg/apis/autoscaling/validation/validation.go index 66db577cd8e..2257800faf0 100644 --- a/pkg/apis/autoscaling/validation/validation.go +++ b/pkg/apis/autoscaling/validation/validation.go @@ -19,6 +19,7 @@ package validation import ( "strings" + apimachineryvalidation "k8s.io/apimachinery/pkg/api/validation" pathvalidation "k8s.io/apimachinery/pkg/api/validation/path" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/validation/field" @@ -28,7 +29,7 @@ import ( func ValidateScale(scale *autoscaling.Scale) field.ErrorList { allErrs := field.ErrorList{} - allErrs = append(allErrs, apivalidation.ValidateObjectMeta(&scale.ObjectMeta, true, apivalidation.NameIsDNSSubdomain, field.NewPath("metadata"))...) + allErrs = append(allErrs, apivalidation.ValidateObjectMeta(&scale.ObjectMeta, true, apimachineryvalidation.NameIsDNSSubdomain, field.NewPath("metadata"))...) if scale.Spec.Replicas < 0 { allErrs = append(allErrs, field.Invalid(field.NewPath("spec", "replicas"), scale.Spec.Replicas, "must be greater than or equal to 0")) diff --git a/pkg/apis/core/validation/validation.go b/pkg/apis/core/validation/validation.go index 74c09ad3d44..2146727ecb9 100644 --- a/pkg/apis/core/validation/validation.go +++ b/pkg/apis/core/validation/validation.go @@ -195,23 +195,23 @@ type ValidateNameFunc apimachineryvalidation.ValidateNameFunc // ValidatePodName can be used to check whether the given pod name is valid. // Prefix indicates this name will be used as part of generation, in which case // trailing dashes are allowed. -var ValidatePodName = NameIsDNSSubdomain +var ValidatePodName = apimachineryvalidation.NameIsDNSSubdomain // ValidateReplicationControllerName can be used to check whether the given replication // controller name is valid. // Prefix indicates this name will be used as part of generation, in which case // trailing dashes are allowed. -var ValidateReplicationControllerName = NameIsDNSSubdomain +var ValidateReplicationControllerName = apimachineryvalidation.NameIsDNSSubdomain // ValidateServiceName can be used to check whether the given service name is valid. // Prefix indicates this name will be used as part of generation, in which case // trailing dashes are allowed. -var ValidateServiceName = NameIsDNS1035Label +var ValidateServiceName = apimachineryvalidation.NameIsDNS1035Label // ValidateNodeName can be used to check whether the given node name is valid. // Prefix indicates this name will be used as part of generation, in which case // trailing dashes are allowed. -var ValidateNodeName = NameIsDNSSubdomain +var ValidateNodeName = apimachineryvalidation.NameIsDNSSubdomain // ValidateNamespaceName can be used to check whether the given namespace name is valid. // Prefix indicates this name will be used as part of generation, in which case @@ -221,18 +221,18 @@ var ValidateNamespaceName = apimachineryvalidation.ValidateNamespaceName // ValidateLimitRangeName can be used to check whether the given limit range name is valid. // Prefix indicates this name will be used as part of generation, in which case // trailing dashes are allowed. -var ValidateLimitRangeName = NameIsDNSSubdomain +var ValidateLimitRangeName = apimachineryvalidation.NameIsDNSSubdomain // ValidateResourceQuotaName can be used to check whether the given // resource quota name is valid. // Prefix indicates this name will be used as part of generation, in which case // trailing dashes are allowed. -var ValidateResourceQuotaName = NameIsDNSSubdomain +var ValidateResourceQuotaName = apimachineryvalidation.NameIsDNSSubdomain // ValidateSecretName can be used to check whether the given secret name is valid. // Prefix indicates this name will be used as part of generation, in which case // trailing dashes are allowed. -var ValidateSecretName = NameIsDNSSubdomain +var ValidateSecretName = apimachineryvalidation.NameIsDNSSubdomain // ValidateServiceAccountName can be used to check whether the given service account name is valid. // Prefix indicates this name will be used as part of generation, in which case @@ -242,7 +242,7 @@ var ValidateServiceAccountName = apimachineryvalidation.ValidateServiceAccountNa // ValidateEndpointsName can be used to check whether the given endpoints name is valid. // Prefix indicates this name will be used as part of generation, in which case // trailing dashes are allowed. -var ValidateEndpointsName = NameIsDNSSubdomain +var ValidateEndpointsName = apimachineryvalidation.NameIsDNSSubdomain // ValidateClusterName can be used to check whether the given cluster name is valid. var ValidateClusterName = apimachineryvalidation.ValidateClusterName @@ -250,22 +250,11 @@ var ValidateClusterName = apimachineryvalidation.ValidateClusterName // ValidateClassName can be used to check whether the given class name is valid. // It is defined here to avoid import cycle between pkg/apis/storage/validation // (where it should be) and this file. -var ValidateClassName = NameIsDNSSubdomain +var ValidateClassName = apimachineryvalidation.NameIsDNSSubdomain // ValidatePiorityClassName can be used to check whether the given priority // class name is valid. -var ValidatePriorityClassName = NameIsDNSSubdomain - -// TODO update all references to these functions to point to the apimachineryvalidation ones -// NameIsDNSSubdomain is a ValidateNameFunc for names that must be a DNS subdomain. -func NameIsDNSSubdomain(name string, prefix bool) []string { - return apimachineryvalidation.NameIsDNSSubdomain(name, prefix) -} - -// NameIsDNS1035Label is a ValidateNameFunc for names that must be a DNS 952 label. -func NameIsDNS1035Label(name string, prefix bool) []string { - return apimachineryvalidation.NameIsDNS1035Label(name, prefix) -} +var ValidatePriorityClassName = apimachineryvalidation.NameIsDNSSubdomain // Validates that given value is not negative. func ValidateNonnegativeField(value int64, fldPath *field.Path) field.ErrorList { @@ -1493,7 +1482,7 @@ func validateCSIPersistentVolumeSource(csi *core.CSIPersistentVolumeSource, fldP // ValidatePersistentVolumeName checks that a name is appropriate for a // PersistentVolumeName object. -var ValidatePersistentVolumeName = NameIsDNSSubdomain +var ValidatePersistentVolumeName = apimachineryvalidation.NameIsDNSSubdomain var supportedAccessModes = sets.NewString(string(core.ReadWriteOnce), string(core.ReadOnlyMany), string(core.ReadWriteMany)) @@ -4668,7 +4657,7 @@ func ValidateSecretUpdate(newSecret, oldSecret *core.Secret) field.ErrorList { // ValidateConfigMapName can be used to check whether the given ConfigMap name is valid. // Prefix indicates this name will be used as part of generation, in which case // trailing dashes are allowed. -var ValidateConfigMapName = NameIsDNSSubdomain +var ValidateConfigMapName = apimachineryvalidation.NameIsDNSSubdomain // ValidateConfigMap tests whether required fields in the ConfigMap are set. func ValidateConfigMap(cfg *core.ConfigMap) field.ErrorList { diff --git a/pkg/apis/extensions/validation/BUILD b/pkg/apis/extensions/validation/BUILD index dcb99ce9f60..7e5cb10616b 100644 --- a/pkg/apis/extensions/validation/BUILD +++ b/pkg/apis/extensions/validation/BUILD @@ -15,6 +15,7 @@ go_library( "//pkg/apis/core/validation:go_default_library", "//pkg/apis/extensions:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/equality:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/api/validation:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/validation:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library", diff --git a/pkg/apis/extensions/validation/validation.go b/pkg/apis/extensions/validation/validation.go index f53abdf68a0..36c191c17fb 100644 --- a/pkg/apis/extensions/validation/validation.go +++ b/pkg/apis/extensions/validation/validation.go @@ -23,6 +23,7 @@ import ( "strings" apiequality "k8s.io/apimachinery/pkg/api/equality" + apimachineryvalidation "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" @@ -167,10 +168,10 @@ func ValidateDaemonSetUpdateStrategy(strategy *extensions.DaemonSetUpdateStrateg // ValidateDaemonSetName can be used to check whether the given daemon set name is valid. // Prefix indicates this name will be used as part of generation, in which case // trailing dashes are allowed. -var ValidateDaemonSetName = apivalidation.NameIsDNSSubdomain +var ValidateDaemonSetName = apimachineryvalidation.NameIsDNSSubdomain // Validates that the given name can be used as a deployment name. -var ValidateDeploymentName = apivalidation.NameIsDNSSubdomain +var ValidateDeploymentName = apimachineryvalidation.NameIsDNSSubdomain func ValidatePositiveIntOrPercent(intOrPercent intstr.IntOrString, fldPath *field.Path) field.ErrorList { allErrs := field.ErrorList{} @@ -367,7 +368,7 @@ func ValidateIngress(ingress *extensions.Ingress) field.ErrorList { } // ValidateIngressName validates that the given name can be used as an Ingress name. -var ValidateIngressName = apivalidation.NameIsDNSSubdomain +var ValidateIngressName = apimachineryvalidation.NameIsDNSSubdomain func validateIngressTLS(spec *extensions.IngressSpec, fldPath *field.Path) field.ErrorList { allErrs := field.ErrorList{} @@ -506,7 +507,7 @@ func validateIngressBackend(backend *extensions.IngressBackend, fldPath *field.P // name is valid. // Prefix indicates this name will be used as part of generation, in which case // trailing dashes are allowed. -var ValidateReplicaSetName = apivalidation.NameIsDNSSubdomain +var ValidateReplicaSetName = apimachineryvalidation.NameIsDNSSubdomain // ValidateReplicaSet tests if required fields in the ReplicaSet are set. func ValidateReplicaSet(rs *extensions.ReplicaSet) field.ErrorList { diff --git a/pkg/apis/networking/validation/BUILD b/pkg/apis/networking/validation/BUILD index d7ee8621287..c21e356632c 100644 --- a/pkg/apis/networking/validation/BUILD +++ b/pkg/apis/networking/validation/BUILD @@ -26,6 +26,7 @@ go_library( "//pkg/apis/core:go_default_library", "//pkg/apis/core/validation:go_default_library", "//pkg/apis/networking:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/api/validation:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/validation:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/intstr:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library", diff --git a/pkg/apis/networking/validation/validation.go b/pkg/apis/networking/validation/validation.go index dc1934ca17e..c64d085d603 100644 --- a/pkg/apis/networking/validation/validation.go +++ b/pkg/apis/networking/validation/validation.go @@ -17,6 +17,7 @@ limitations under the License. package validation import ( + apimachineryvalidation "k8s.io/apimachinery/pkg/api/validation" unversionedvalidation "k8s.io/apimachinery/pkg/apis/meta/v1/validation" "k8s.io/apimachinery/pkg/util/intstr" "k8s.io/apimachinery/pkg/util/sets" @@ -30,7 +31,7 @@ import ( // ValidateNetworkPolicyName can be used to check whether the given networkpolicy // name is valid. func ValidateNetworkPolicyName(name string, prefix bool) []string { - return apivalidation.NameIsDNSSubdomain(name, prefix) + return apimachineryvalidation.NameIsDNSSubdomain(name, prefix) } // ValidateNetworkPolicyPort validates a NetworkPolicyPort diff --git a/pkg/apis/policy/validation/BUILD b/pkg/apis/policy/validation/BUILD index 4aad2ff4dfe..ffa56b65c12 100644 --- a/pkg/apis/policy/validation/BUILD +++ b/pkg/apis/policy/validation/BUILD @@ -19,6 +19,7 @@ go_library( "//pkg/security/apparmor:go_default_library", "//pkg/security/podsecuritypolicy/seccomp:go_default_library", "//pkg/security/podsecuritypolicy/util:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/api/validation:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/validation:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", diff --git a/pkg/apis/policy/validation/validation.go b/pkg/apis/policy/validation/validation.go index aa898ad8fdd..54db7bc88df 100644 --- a/pkg/apis/policy/validation/validation.go +++ b/pkg/apis/policy/validation/validation.go @@ -23,6 +23,7 @@ import ( "regexp" "strings" + apimachineryvalidation "k8s.io/apimachinery/pkg/api/validation" unversionedvalidation "k8s.io/apimachinery/pkg/apis/meta/v1/validation" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/validation/field" @@ -94,7 +95,7 @@ func ValidatePodDisruptionBudgetStatus(status policy.PodDisruptionBudgetStatus, // pod security policy name is valid. // Prefix indicates this name will be used as part of generation, in which case // trailing dashes are allowed. -var ValidatePodSecurityPolicyName = apivalidation.NameIsDNSSubdomain +var ValidatePodSecurityPolicyName = apimachineryvalidation.NameIsDNSSubdomain func ValidatePodSecurityPolicy(psp *policy.PodSecurityPolicy) field.ErrorList { allErrs := field.ErrorList{} diff --git a/pkg/apis/scheduling/validation/BUILD b/pkg/apis/scheduling/validation/BUILD index d4cf0f50ed6..550bdc6c2eb 100644 --- a/pkg/apis/scheduling/validation/BUILD +++ b/pkg/apis/scheduling/validation/BUILD @@ -24,6 +24,7 @@ go_library( deps = [ "//pkg/apis/core/validation:go_default_library", "//pkg/apis/scheduling:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/api/validation:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", ], ) diff --git a/pkg/apis/scheduling/validation/validation.go b/pkg/apis/scheduling/validation/validation.go index 5f2998157ed..5b2fcaeb99f 100644 --- a/pkg/apis/scheduling/validation/validation.go +++ b/pkg/apis/scheduling/validation/validation.go @@ -20,6 +20,7 @@ import ( "fmt" "strings" + apimachineryvalidation "k8s.io/apimachinery/pkg/api/validation" "k8s.io/apimachinery/pkg/util/validation/field" apivalidation "k8s.io/kubernetes/pkg/apis/core/validation" "k8s.io/kubernetes/pkg/apis/scheduling" @@ -29,7 +30,7 @@ import ( // set correctly. func ValidatePriorityClass(pc *scheduling.PriorityClass) field.ErrorList { allErrs := field.ErrorList{} - allErrs = append(allErrs, apivalidation.ValidateObjectMeta(&pc.ObjectMeta, false, apivalidation.NameIsDNSSubdomain, field.NewPath("metadata"))...) + allErrs = append(allErrs, apivalidation.ValidateObjectMeta(&pc.ObjectMeta, false, apimachineryvalidation.NameIsDNSSubdomain, field.NewPath("metadata"))...) // If the priorityClass starts with a system prefix, it must be one of the // predefined system priority classes. if strings.HasPrefix(pc.Name, scheduling.SystemPriorityClassPrefix) { diff --git a/pkg/apis/settings/validation/BUILD b/pkg/apis/settings/validation/BUILD index f82cf0e894a..b938b1d7743 100644 --- a/pkg/apis/settings/validation/BUILD +++ b/pkg/apis/settings/validation/BUILD @@ -24,6 +24,7 @@ go_library( deps = [ "//pkg/apis/core/validation:go_default_library", "//pkg/apis/settings:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/api/validation:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/validation:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", ], diff --git a/pkg/apis/settings/validation/validation.go b/pkg/apis/settings/validation/validation.go index 50ac75aab44..5376cf4fc7c 100644 --- a/pkg/apis/settings/validation/validation.go +++ b/pkg/apis/settings/validation/validation.go @@ -17,6 +17,7 @@ limitations under the License. package validation import ( + apimachineryvalidation "k8s.io/apimachinery/pkg/api/validation" unversionedvalidation "k8s.io/apimachinery/pkg/apis/meta/v1/validation" "k8s.io/apimachinery/pkg/util/validation/field" apivalidation "k8s.io/kubernetes/pkg/apis/core/validation" @@ -30,7 +31,7 @@ func ValidatePodPresetName(name string, prefix bool) []string { // TODO: Validate that there's name for the suffix inserted by the pods. // Currently this is just "-index". In the future we may allow a user // specified list of suffixes and we need to validate the longest one. - return apivalidation.NameIsDNSSubdomain(name, prefix) + return apimachineryvalidation.NameIsDNSSubdomain(name, prefix) } // ValidatePodPresetSpec tests if required fields in the PodPreset spec are set.