diff --git a/executors/kubernetes/executor_kubernetes.go b/executors/kubernetes/executor_kubernetes.go index 1257eb5203b60b7abb16a1b65dfbb6a81f1e1e84..53157d734107a6934af7455168e10428f7a707d0 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 b21c560334b7bad97955f91d4bf0880f3b570df7..3dac7ff942efc2c479fef03385ea128faa442e9d 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)