From 1b7df30f1acbfa1a62d78e5b26e88a1fdea9e1c6 Mon Sep 17 00:00:00 2001
From: Rodrigo Chacon <rochacon@gmail.com>
Date: Sun, 14 Oct 2018 02:52:01 -0300
Subject: [PATCH] wip DNS-1123 compatibility

---
 executors/kubernetes/executor_kubernetes.go      | 4 ++++
 executors/kubernetes/executor_kubernetes_test.go | 6 +++++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/executors/kubernetes/executor_kubernetes.go b/executors/kubernetes/executor_kubernetes.go
index 1257eb520..53157d734 100644
--- a/executors/kubernetes/executor_kubernetes.go
+++ b/executors/kubernetes/executor_kubernetes.go
@@ -440,6 +440,10 @@ func (s *executor) setupBuildPod() error {
 
 		_, _, _, aliases := common.SplitServiceAndVersion(service.Name)
 		for _, a := range aliases {
+			// skip Docker-like host aliases, respecting DNS-1123
+			if strings.Contains(a, "__") {
+				continue
+			}
 			servicesHostAlias.Hostnames = append(servicesHostAlias.Hostnames, a)
 		}
 		if service.Alias != "" {
diff --git a/executors/kubernetes/executor_kubernetes_test.go b/executors/kubernetes/executor_kubernetes_test.go
index b21c56033..3dac7ff94 100644
--- a/executors/kubernetes/executor_kubernetes_test.go
+++ b/executors/kubernetes/executor_kubernetes_test.go
@@ -1266,15 +1266,19 @@ func TestSetupBuildPod(t *testing.T) {
 					{
 						Name: "docker:dind",
 					},
+					{
+						Name: "selenium/standalone-chrome",
+					},
 				},
 			},
 			VerifyFn: func(t *testing.T, test setupBuildPodTestDef, pod *api.Pod) {
-				require.Len(t, pod.Spec.Containers, 4)
+				require.Len(t, pod.Spec.Containers, 5)
 
 				expectedHostnames := []string{
 					"test-service",
 					"svc-alias",
 					"docker",
+					"selenium-standalone-chrome",
 				}
 				assert.Equal(t, "127.0.0.1", pod.Spec.HostAliases[0].IP)
 				assert.Equal(t, expectedHostnames, pod.Spec.HostAliases[0].Hostnames)
-- 
GitLab