Change:
<!-- Please only use this template for submitting reports about failing tests in Kubernetes CI jobs --Which jobs are failing: ci-kubernetes-e2e-gci-gce-serial Which test(s) are failing: [sig-cluster-lifecycle] Nodes [Disruptive] Resize [Slow] should be able to add nodes [sig-cluster-lifecycle] Nodes [Disruptive] Resize [Slow] should be able to delete nodes Since when has it been failing: These tests have been failing since 6/28 Failures coincide with the following changes: Testgrid link: Reason for failure: The failure messages look as follows: [sig-cluster-lifecycle] Nodes [Disruptive] Resize [Slow] should be able to add nodes [sig-cluster-lifecycle] Nodes [Disruptive] Resize [Slow] should be able to delete nodes /cc /milestone v1.16 /priority critical-urgent /kind failing-test /cc
/sig cluster-lifecycle
For more context, the code for the failing tests is here The error for both comes through  - some Pod is not responding. It is failing to find pods prefixed with "my-hostname-add-node". Within the logs we can see this: So the Pods are stuck in a Pending state. The Pods are supposed to be created by a ReplicationController in , which itself uses this method from the e2e framework . However, after being in a Pending state (after the "failed to wait for pods responding: timed out waiting for the condition" error is registered), they do seem to reach a Ready state
/assign for triage.
I think agnhost needs to be passed , but did not do so in /assign sig-testing
GitHub didn't allow me to assign the following users: sig-testing. Note that only , repo collaborators and people who have commented on this issue/PR can be assigned. Additionally, issues/PRs can only have 10 assignees at the same time. For more information please see <detailsIn response to : I think agnhost needs to be passed , but did not do so in Instructions 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
Reopen to monitor job /reopen
Reopened this issue. <detailsIn response to : Reopen to monitor job /reopen Instructions 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
Thank you for working on the PR to solve this. indeed solved the issue reported here. /close
Closing this issue. <detailsIn response to : Thank you for working on the PR to solve this. /close Instructions 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

Discussion:
numNodes, err := e2enode.TotalRegistered(f.ClientSet) framework.ExpectNoError(err) replicas := int32(numNodes) <del> common.NewRCByName(c, ns, name, replicas, nil) </del> <ins> common.NewRCByName(c, ns, name, replicas, nil, nil) </ins> err = e2epod.VerifyPods(c, ns, name, true, replicas) framework.ExpectNoError(err, "Each pod should start running and responding")

numNodes, err := e2enode.TotalRegistered(f.ClientSet) framework.ExpectNoError(err) replicas := int32(numNodes) <del> common.NewRCByName(c, ns, name, replicas, &gracePeriod) </del> <ins> common.NewRCByName(c, ns, name, replicas, &gracePeriod, []string{"serve-hostname"}) </ins> err = e2epod.VerifyPods(c, ns, name, true, replicas) framework.ExpectNoError(err, "Each pod should start running and responding")

} // NewRCByName creates a replication controller with a selector by name of name. <del> func NewRCByName(c clientset.Interface, ns, name string, replicas int32, gracePeriod *int64) (*v1.ReplicationController, error) { </del> <ins> func NewRCByName(c clientset.Interface, ns, name string, replicas int32, gracePeriod *int64, containerArgs []string) (*v1.ReplicationController, error) { </ins> ginkgo.By(fmt.Sprintf("creating replication controller %s", name)) <ins> if containerArgs == nil { containerArgs = []string{"serve-hostname"} } </ins> return c.CoreV1().ReplicationControllers(ns).Create(framework.RcByNamePort( <del> name, replicas, framework.ServeHostnameImage, 9376, v1.ProtocolTCP, map[string]string{}, gracePeriod)) </del> <ins> name, replicas, framework.ServeHostnameImage, containerArgs, 9376, v1.ProtocolTCP, map[string]string{}, gracePeriod)) </ins> } // RestartNodes restarts specific nodes.

"github.com/onsi/ginkgo" <del> "k8s.io/api/core/v1" </del> <ins> v1 "k8s.io/api/core/v1" </ins> metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/util/wait"

) // RcByNamePort returns a ReplicationController with specified name and port <del> func RcByNamePort(name string, replicas int32, image string, port int, protocol v1.Protocol, </del> <ins> func RcByNamePort(name string, replicas int32, image string, containerArgs []string, port int, protocol v1.Protocol, </ins> labels map[string]string, gracePeriod *int64) *v1.ReplicationController { return RcByNameContainer(name, replicas, image, labels, v1.Container{ Name:  name, Image: image, <ins> Args:  containerArgs, </ins> Ports: []v1.ContainerPort{{ContainerPort: int32(port), Protocol: protocol}}, }, gracePeriod) }

} func createNewRC(c clientset.Interface, ns string, name string) { <del> _, err := common.NewRCByName(c, ns, name, 1, nil) </del> <ins> _, err := common.NewRCByName(c, ns, name, 1, nil, nil) </ins> framework.ExpectNoError(err) }

numNodes, err := e2enode.TotalRegistered(c) framework.ExpectNoError(err) originalNodeCount = int32(numNodes) <del> common.NewRCByName(c, ns, name, originalNodeCount, nil) </del> <ins> common.NewRCByName(c, ns, name, originalNodeCount, nil, nil) </ins> err = e2epod.VerifyPods(c, ns, name, true, originalNodeCount) framework.ExpectNoError(err)