diff --git a/executors/kubernetes/executor_kubernetes.go b/executors/kubernetes/executor_kubernetes.go index 89804b4d858812abbb279e588f9994986ef9cbd5..88ee215ad1a8299a5ce09fc031d44e1fc68af9c1 100644 --- a/executors/kubernetes/executor_kubernetes.go +++ b/executors/kubernetes/executor_kubernetes.go @@ -445,6 +445,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 f42497972290c46540ffc52bd1c80cecf2160700..9fbfb519c2aa35d991498bd821d10413b68a87c9 100644 --- a/executors/kubernetes/executor_kubernetes_test.go +++ b/executors/kubernetes/executor_kubernetes_test.go @@ -1338,15 +1338,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)