diff --git a/pkg/apis/extensions/validation/network.go b/pkg/apis/extensions/validation/network.go index 3d95c9d0973..347feb1c8e4 100644 --- a/pkg/apis/extensions/validation/network.go +++ b/pkg/apis/extensions/validation/network.go @@ -71,8 +71,10 @@ func ValidateNetworkSpec(spec *extensionsv1alpha1.NetworkSpec, fldPath *field.Pa allErrs = append(allErrs, cidrvalidation.ValidateCIDRParse(cidrs...)...) allErrs = append(allErrs, cidrvalidation.ValidateCIDRIPFamily(cidrs, string(primaryIPFamily))...) - allErrs = append(allErrs, cidrvalidation.ValidateCIDROverlap(cidrs, false)...) + if !(len(spec.IPFamilies) == 1 && spec.IPFamilies[0] == extensionsv1alpha1.IPFamilyIPv6) { + allErrs = append(allErrs, cidrvalidation.ValidateCIDROverlap(cidrs, false)...) + } return allErrs } diff --git a/pkg/apis/extensions/validation/network_test.go b/pkg/apis/extensions/validation/network_test.go index c3c7b16dce7..885634e1fa0 100644 --- a/pkg/apis/extensions/validation/network_test.go +++ b/pkg/apis/extensions/validation/network_test.go @@ -163,15 +163,12 @@ var _ = Describe("Network validation tests", func() { })))) }) - It("should forbid Network with overlapping pod and service CIDRs", func() { + It("should allow Network with overlapping pod and service CIDRs", func() { network.Spec.ServiceCIDR = "2001:db8:3::/48" network.Spec.PodCIDR = network.Spec.ServiceCIDR errorList := ValidateNetwork(network) - Expect(errorList).To(ConsistOf(PointTo(MatchFields(IgnoreExtras, Fields{ - "Type": Equal(field.ErrorTypeInvalid), - "Field": Equal("spec.serviceCIDR"), - })))) + Expect(errorList).To(BeEmpty()) }) }) })