From c9638d54d042f637fe1ec8ee30f71ca37a3e7a31 Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Mon, 1 Jun 2020 10:56:11 -0400 Subject: [PATCH] Defer ginkgo recovers --- test/e2e/apps/deployment.go | 1 + test/e2e/apps/statefulset.go | 2 ++ test/e2e/cloud/gcp/reboot.go | 1 + test/e2e/framework/nodes_util.go | 3 +++ test/e2e/node/pods.go | 2 ++ test/e2e/storage/persistent_volumes-local.go | 1 + 6 files changed, 10 insertions(+) diff --git a/test/e2e/apps/deployment.go b/test/e2e/apps/deployment.go index 3df717a6791..eb7726dbd0d 100644 --- a/test/e2e/apps/deployment.go +++ b/test/e2e/apps/deployment.go @@ -372,6 +372,7 @@ func testDeploymentCleanUpPolicy(f *framework.Framework) { w, err := c.CoreV1().Pods(ns).Watch(context.TODO(), options) framework.ExpectNoError(err) go func() { + defer ginkgo.GinkgoRecover() // There should be only one pod being created, which is the pod with the agnhost image. // The old RS shouldn't create new pod when deployment controller adding pod template hash label to its selector. numPodCreation := 1 diff --git a/test/e2e/apps/statefulset.go b/test/e2e/apps/statefulset.go index e2aaaa94193..a956f863bd9 100644 --- a/test/e2e/apps/statefulset.go +++ b/test/e2e/apps/statefulset.go @@ -593,6 +593,7 @@ var _ = SIGDescribe("StatefulSet", func() { var orderErr error wg.Add(1) go func() { + defer ginkgo.GinkgoRecover() defer wg.Done() expectedOrder := []string{ssName + "-0", ssName + "-1", ssName + "-2"} @@ -644,6 +645,7 @@ var _ = SIGDescribe("StatefulSet", func() { // Verify that statuful set will be scaled down in order. wg.Add(1) go func() { + defer ginkgo.GinkgoRecover() defer wg.Done() expectedOrder := []string{ssName + "-2", ssName + "-1", ssName + "-0"} diff --git a/test/e2e/cloud/gcp/reboot.go b/test/e2e/cloud/gcp/reboot.go index 9544baa176e..406f897c82e 100644 --- a/test/e2e/cloud/gcp/reboot.go +++ b/test/e2e/cloud/gcp/reboot.go @@ -166,6 +166,7 @@ func testReboot(c clientset.Interface, rebootCmd string, hook terminationHook) { failed := false for ix := range nodelist.Items { go func(ix int) { + defer ginkgo.GinkgoRecover() defer wg.Done() n := nodelist.Items[ix] result[ix] = rebootNode(c, framework.TestContext.Provider, n.ObjectMeta.Name, rebootCmd) diff --git a/test/e2e/framework/nodes_util.go b/test/e2e/framework/nodes_util.go index 17a910a85c2..5d2cf244b68 100644 --- a/test/e2e/framework/nodes_util.go +++ b/test/e2e/framework/nodes_util.go @@ -23,6 +23,8 @@ import ( "sync" "time" + "github.com/onsi/ginkgo" + v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/util/wait" clientset "k8s.io/client-go/kubernetes" @@ -199,6 +201,7 @@ func (k *NodeKiller) kill(nodes []v1.Node) { for _, node := range nodes { node := node go func() { + defer ginkgo.GinkgoRecover() defer wg.Done() Logf("Stopping docker and kubelet on %q to simulate failure", node.Name) diff --git a/test/e2e/node/pods.go b/test/e2e/node/pods.go index 5e4ce60af9e..7e55fe8c2a6 100644 --- a/test/e2e/node/pods.go +++ b/test/e2e/node/pods.go @@ -235,6 +235,7 @@ var _ = SIGDescribe("Pods Extended", func() { for i := 0; i < workers; i++ { wg.Add(1) go func(i int) { + defer ginkgo.GinkgoRecover() defer wg.Done() for retries := 0; retries < pods; retries++ { name := fmt.Sprintf("pod-submit-status-%d-%d", i, retries) @@ -274,6 +275,7 @@ var _ = SIGDescribe("Pods Extended", func() { created := podClient.Create(pod) ch := make(chan []watch.Event) go func() { + defer ginkgo.GinkgoRecover() defer close(ch) w, err := podClient.Watch(context.TODO(), metav1.ListOptions{ ResourceVersion: created.ResourceVersion, diff --git a/test/e2e/storage/persistent_volumes-local.go b/test/e2e/storage/persistent_volumes-local.go index 812f8dba8c3..13e97e96fe3 100644 --- a/test/e2e/storage/persistent_volumes-local.go +++ b/test/e2e/storage/persistent_volumes-local.go @@ -456,6 +456,7 @@ var _ = utils.SIGDescribe("PersistentVolumes-local ", func() { ginkgo.By("Start a goroutine to recycle unbound PVs") wg.Add(1) go func() { + defer ginkgo.GinkgoRecover() defer wg.Done() w, err := config.client.CoreV1().PersistentVolumes().Watch(context.TODO(), metav1.ListOptions{}) framework.ExpectNoError(err)