diff --git a/executors/kubernetes/executor_kubernetes.go b/executors/kubernetes/executor_kubernetes.go index d0bd1c3fc3515f46d275f58a075d09382d59c0d2..76f44de1e61300007bc48d7a27abeb837f561372 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 061881fa52219efad9c4346432220c3e284b2554..343709330d2d83e64eb5501eb11659ca46cb03a9 100644 --- a/executors/kubernetes/executor_kubernetes_test.go +++ b/executors/kubernetes/executor_kubernetes_test.go @@ -1295,15 +1295,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)