From b3b6423016e775d04949ca738ecc6944e55e48aa Mon Sep 17 00:00:00 2001 From: Ricky Pai Date: Thu, 1 Jun 2017 16:45:42 -0700 Subject: [PATCH 1/2] add test case for `foo.bar` instead of just `foo` hostnames for hostAlias validations --- pkg/api/validation/validation_test.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkg/api/validation/validation_test.go b/pkg/api/validation/validation_test.go index 0497c9d02c9f..b56c059ea45c 100644 --- a/pkg/api/validation/validation_test.go +++ b/pkg/api/validation/validation_test.go @@ -3607,6 +3607,13 @@ func TestValidatePodSpec(t *testing.T) { RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, }, + { // Populate HostAliases with `foo.bar` hostnames . + HostAliases: []api.HostAlias{{IP: "12.34.56.78", Hostnames: []string{"host1.foo", "host2.bar"}}}, + Volumes: []api.Volume{{Name: "vol", VolumeSource: api.VolumeSource{EmptyDir: &api.EmptyDirVolumeSource{}}}}, + Containers: []api.Container{{Name: "ctr", Image: "image", ImagePullPolicy: "IfNotPresent", TerminationMessagePolicy: "File"}}, + RestartPolicy: api.RestartPolicyAlways, + DNSPolicy: api.DNSClusterFirst, + }, } for i := range successCases { if errs := ValidatePodSpec(&successCases[i], field.NewPath("field")); len(errs) != 0 { From 0e5c84e554fa7d6d727656a6ac41f1a6abfd4323 Mon Sep 17 00:00:00 2001 From: Ricky Pai Date: Thu, 1 Jun 2017 16:46:00 -0700 Subject: [PATCH 2/2] validate DNS1123 domains instead of just labels --- pkg/api/validation/validation.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/api/validation/validation.go b/pkg/api/validation/validation.go index d50a20f0713c..615aab44cd83 100644 --- a/pkg/api/validation/validation.go +++ b/pkg/api/validation/validation.go @@ -2105,7 +2105,7 @@ func ValidateHostAliases(hostAliases []api.HostAlias, fldPath *field.Path) field allErrs = append(allErrs, field.Invalid(fldPath.Child("ip"), hostAlias.IP, "must be valid IP address")) } for _, hostname := range hostAlias.Hostnames { - allErrs = append(allErrs, ValidateDNS1123Label(hostname, fldPath.Child("hostnames"))...) + allErrs = append(allErrs, ValidateDNS1123Subdomain(hostname, fldPath.Child("hostnames"))...) } } return allErrs