Merge pull request #74686 from zhouhaibing089/add-trailing-period

validation: allow trailing period in dns search
This commit is contained in:
Kubernetes Prow Robot 2019-03-19 20:15:06 -07:00 committed by GitHub
commit 9c5be7aa5f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 1 deletions

View File

@ -2704,6 +2704,10 @@ func validatePodDNSConfig(dnsConfig *core.PodDNSConfig, dnsPolicy *core.DNSPolic
allErrs = append(allErrs, field.Invalid(fldPath.Child("searches"), dnsConfig.Searches, "must not have more than 256 characters (including spaces) in the search list")) allErrs = append(allErrs, field.Invalid(fldPath.Child("searches"), dnsConfig.Searches, "must not have more than 256 characters (including spaces) in the search list"))
} }
for i, search := range dnsConfig.Searches { for i, search := range dnsConfig.Searches {
// it is fine to have a trailing dot
if strings.HasSuffix(search, ".") {
search = search[0 : len(search)-1]
}
allErrs = append(allErrs, ValidateDNS1123Subdomain(search, fldPath.Child("searches").Index(i))...) allErrs = append(allErrs, ValidateDNS1123Subdomain(search, fldPath.Child("searches").Index(i))...)
} }
// Validate options. // Validate options.

View File

@ -5877,11 +5877,18 @@ func TestValidatePodDNSConfig(t *testing.T) {
}, },
expectedError: false, expectedError: false,
}, },
{
desc: "valid: 1 search path with trailing period",
dnsConfig: &core.PodDNSConfig{
Searches: []string{"custom."},
},
expectedError: false,
},
{ {
desc: "valid: 3 nameservers and 6 search paths", desc: "valid: 3 nameservers and 6 search paths",
dnsConfig: &core.PodDNSConfig{ dnsConfig: &core.PodDNSConfig{
Nameservers: []string{"127.0.0.1", "10.0.0.10", "8.8.8.8"}, Nameservers: []string{"127.0.0.1", "10.0.0.10", "8.8.8.8"},
Searches: []string{"custom", "mydomain.com", "local", "cluster.local", "svc.cluster.local", "default.svc.cluster.local"}, Searches: []string{"custom", "mydomain.com", "local", "cluster.local", "svc.cluster.local", "default.svc.cluster.local."},
}, },
expectedError: false, expectedError: false,
}, },