Change:
release-master-blocking Conformance-GCE-master-kubetest2Kubernetes e2e suite.[It] [sig-network] Services should be able to change the type from ExternalName to ClusterIP [Conformance] ci-kubernetes-gce-conformance-latest-kubetest2.Overall kubetest2.Test 07-11 15:51 EEST No response /sig cloud-provider cc
This issue is currently awaiting triage. If a SIG or subproject determines this is a relevant issue, they will accept it by applying the label and provide further guidance. The label can be by org members by writing in a comment. <detailsInstructions for interacting with me using PR comments are available . If you have questions or suggestions related to my behavior, please file an issue against the repository. </details
I remember some timeout has changed with ginkgo2 and something moved from 24hours to 1 hours, or something like that, is it possible that this is the problem here, in this job?
The Grinko timeout change could also be the root problem with this job:
hmm, we have to revisit the flags
hmm, this seems correct
that was a good observations, seems that job is failing because gathering the logs takes too much time !
there is no timeout set in the kubetest2 command here (not sure if this would be the place to set a timeout)
it seems kubetest has to be migrated to ginkgov2 it should use this as basis I'm on vacation this week, can somebody take over and open the issue and patch kubetest2?
looks like this file needs to get updated: add line 72:
oh, you already commented this :D
I will have a look later
Related: umbrella issue:
last testgrid run passed :)

Discussion:
return } <ins> const containerNamePrefix = "k8s" </ins> // Creates a name which can be reversed to identify both manifest id and container name. func manifestAndContainerToDockerName(manifest *api.ContainerManifest, container *api.Container) string { // Note, manifest.Id could be blank. <del> return fmt.Sprintf("%s--%s--%x", escapeDash(container.Name), escapeDash(manifest.Id), rand.Uint32()) </del> <ins> return fmt.Sprintf("%s--%s--%s--%x", containerNamePrefix, escapeDash(container.Name), escapeDash(manifest.Id), rand.Uint32()) </ins> } // Upacks a container name, returning the manifest id and container name we would have used to

name = name[1:] } parts := strings.Split(name, "--") <del> if len(parts) > 0 { containerName = unescapeDash(parts[0]) </del> <ins> if len(parts) == 0 || parts[0] != containerNamePrefix { return </ins> } if len(parts) > 1 { <del> manifestId = unescapeDash(parts[1]) </del> <ins> containerName = unescapeDash(parts[1]) } if len(parts) > 2 { manifestId = unescapeDash(parts[2]) </ins> } return }

} } <del> const networkContainerName = "k8snet" </del> <ins> const networkContainerName = "net" </ins> func (kl *Kubelet) networkContainerExists(manifest *api.ContainerManifest) (string, bool, error) { pods, err := kl.ListContainers()

return "", false, err } for _, name := range pods { <del> if strings.Contains(name, networkContainerName+"--"+manifest.Id+"--") { </del> <ins> if strings.Contains(name, containerNamePrefix+"--"+networkContainerName+"--"+manifest.Id+"--") { </ins> return name, true, nil } }

existingContainers, _ := kl.ListContainers() log.Printf("Existing:n%#v Desired: %#v", existingContainers, desired) for _, container := range existingContainers { <del> // This is slightly hacky, but we ignore containers that lack '--' in their name // to allow users to manually spin up their own containers if they want. if !strings.Contains(container, "--") { </del> <ins> // Skip containers that we didn't create to allow users to manually // spin up their own containers if they want. if !strings.HasPrefix(container, "/"+containerNamePrefix+"--") { </ins> continue } if !desired[container] {

} fakeDocker.containerList = []docker.APIContainers{ { <del> Names: []string{"foo--qux--1234"}, </del> <ins> Names: []string{"/k8s--foo--qux--1234"}, </ins> }, { <del> Names: []string{"bar--qux--1234"}, </del> <ins> Names: []string{"/k8s--bar--qux--1234"}, </ins> }, } fakeDocker.container = &docker.Container{

} fakeDocker.containerList = []docker.APIContainers{ { <del> // format is <container-id>--<manifest-id> Names: []string{"bar--foo"}, </del> <ins> // format is k8s--<container-id>--<manifest-id> Names: []string{"/k8s--bar--foo"}, </ins> ID:    "1234", }, { // network container <del> Names: []string{"k8snet--foo--"}, </del> <ins> Names: []string{"/k8s--net--foo--"}, </ins> ID:    "9876", }, }

} fakeDocker.containerList = []docker.APIContainers{ { <del> // the '--' is required for the kubelet to manage the container Names: []string{"foo--bar"}, </del> <ins> // the k8s prefix is required for the kubelet to manage the container Names: []string{"/k8s--foo--bar"}, </ins> ID:    "1234", }, { // network container <del> Names: []string{"k8snet--foo--"}, </del> <ins> Names: []string{"/k8s--net--foo--"}, </ins> ID:    "9876", }, {