diff --git a/test/e2e/framework/kubelet/stats.go b/test/e2e/framework/kubelet/stats.go index f3171a1915c..e0e66445748 100644 --- a/test/e2e/framework/kubelet/stats.go +++ b/test/e2e/framework/kubelet/stats.go @@ -89,10 +89,9 @@ type RuntimeOperationErrorRate struct { // ProxyRequest performs a get on a node proxy endpoint given the nodename and rest client. func ProxyRequest(c clientset.Interface, node, endpoint string, port int) (restclient.Result, error) { - // proxy tends to hang in some cases when Node is not ready. Add an artificial timeout for this call. - // This will leak a goroutine if proxy hangs. #22165 + // proxy tends to hang in some cases when Node is not ready. Add an artificial timeout for this call. #22165 var result restclient.Result - finished := make(chan struct{}) + finished := make(chan struct{}, 1) go func() { result = c.CoreV1().RESTClient().Get(). Resource("nodes"). diff --git a/test/e2e/framework/metrics/kubelet_metrics.go b/test/e2e/framework/metrics/kubelet_metrics.go index ada354f66ae..a023e3a4770 100644 --- a/test/e2e/framework/metrics/kubelet_metrics.go +++ b/test/e2e/framework/metrics/kubelet_metrics.go @@ -76,8 +76,7 @@ func parseKubeletMetrics(data string) (KubeletMetrics, error) { func (g *Grabber) getMetricsFromNode(nodeName string, kubeletPort int) (string, error) { // There's a problem with timing out during proxy. Wrapping this in a goroutine to prevent deadlock. - // Hanging goroutine will be leaked. - finished := make(chan struct{}) + finished := make(chan struct{}, 1) var err error var rawOutput []byte go func() {