Commit 83ac613b authored by Dan Winship's avatar Dan Winship

Fix up existing NetworkPolicy validation

Paths were wrong for most errors. Field name was wrong for namespaceSelector.
parent 4f8f6006
...@@ -828,26 +828,25 @@ func ValidateNetworkPolicySpec(spec *extensions.NetworkPolicySpec, fldPath *fiel ...@@ -828,26 +828,25 @@ func ValidateNetworkPolicySpec(spec *extensions.NetworkPolicySpec, fldPath *fiel
allErrs = append(allErrs, unversionedvalidation.ValidateLabelSelector(&spec.PodSelector, fldPath.Child("podSelector"))...) allErrs = append(allErrs, unversionedvalidation.ValidateLabelSelector(&spec.PodSelector, fldPath.Child("podSelector"))...)
// Validate ingress rules. // Validate ingress rules.
for _, i := range spec.Ingress { for i, ingress := range spec.Ingress {
ingressPath := fldPath.Child("ingress").Index(i)
// TODO: Update From to be a pointer to slice as soon as auto-generation supports it. // TODO: Update From to be a pointer to slice as soon as auto-generation supports it.
for _, f := range i.From { for i, from := range ingress.From {
fromPath := ingressPath.Child("from").Index(i)
numFroms := 0 numFroms := 0
if f.PodSelector != nil { if from.PodSelector != nil {
numFroms++ numFroms++
allErrs = append(allErrs, unversionedvalidation.ValidateLabelSelector(f.PodSelector, fldPath.Child("podSelector"))...) allErrs = append(allErrs, unversionedvalidation.ValidateLabelSelector(from.PodSelector, fromPath.Child("podSelector"))...)
} }
if f.NamespaceSelector != nil { if from.NamespaceSelector != nil {
if numFroms > 0 { numFroms++
allErrs = append(allErrs, field.Forbidden(fldPath, "may not specify more than 1 from type")) allErrs = append(allErrs, unversionedvalidation.ValidateLabelSelector(from.NamespaceSelector, fromPath.Child("namespaceSelector"))...)
} else {
numFroms++
allErrs = append(allErrs, unversionedvalidation.ValidateLabelSelector(f.NamespaceSelector, fldPath.Child("namespaces"))...)
}
} }
if numFroms == 0 { if numFroms == 0 {
// At least one of PodSelector and NamespaceSelector must be defined. allErrs = append(allErrs, field.Required(fromPath, "must specify a from type"))
allErrs = append(allErrs, field.Required(fldPath, "must specify a from type")) } else if numFroms > 1 {
allErrs = append(allErrs, field.Forbidden(fromPath, "may not specify more than 1 from type"))
} }
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment