[YUNIKORN-2247] Preemption e2e tests should run in separate namespaces (#753)

Closes: #753

Signed-off-by: Peter Bacsko <pbacsko@cloudera.com>
diff --git a/test/e2e/preemption/preemption_test.go b/test/e2e/preemption/preemption_test.go
index dc8585a..7140b96 100644
--- a/test/e2e/preemption/preemption_test.go
+++ b/test/e2e/preemption/preemption_test.go
@@ -40,7 +40,7 @@
 var kClient k8s.KubeCtl
 var restClient yunikorn.RClient
 var ns *v1.Namespace
-var dev = "dev" + common.RandSeq(5)
+var dev string
 var oldConfigMap = new(v1.ConfigMap)
 var annotation = "ann-" + common.RandSeq(10)
 
@@ -66,11 +66,6 @@
 	var err = kClient.PortForwardYkSchedulerPod()
 	Ω(err).NotTo(gomega.HaveOccurred())
 
-	ginkgo.By("create development namespace")
-	ns, err = kClient.CreateNamespace(dev, nil)
-	gomega.Ω(err).NotTo(gomega.HaveOccurred())
-	gomega.Ω(ns.Status.Phase).To(gomega.Equal(v1.NamespaceActive))
-
 	var nodes *v1.NodeList
 	nodes, err = kClient.GetNodes()
 	Ω(err).NotTo(gomega.HaveOccurred())
@@ -126,12 +121,18 @@
 	checks, err := yunikorn.GetFailedHealthChecks()
 	Ω(err).NotTo(gomega.HaveOccurred())
 	Ω(checks).To(gomega.Equal(""), checks)
-	ginkgo.By("Tearing down namespace: " + ns.Name)
-	err = kClient.TearDownNamespace(ns.Name)
-	Ω(err).NotTo(gomega.HaveOccurred())
 })
 
 var _ = ginkgo.Describe("Preemption", func() {
+	ginkgo.BeforeEach(func() {
+		dev = "dev-" + common.RandSeq(5)
+		ginkgo.By("Creating development namespace: " + dev)
+		var err error
+		ns, err = kClient.CreateNamespace(dev, nil)
+		Ω(err).NotTo(HaveOccurred())
+		Ω(ns.Status.Phase).To(gomega.Equal(v1.NamespaceActive))
+	})
+
 	ginkgo.It("Verify_basic_preemption", func() {
 		ginkgo.By("A queue uses resource more than the guaranteed value even after removing one of the pods. The cluster doesn't have enough resource to deploy a pod in another queue which uses resource less than the guaranteed value.")
 		// update config
@@ -552,12 +553,10 @@
 			tests.LogTestClusterInfoWrapper(testDescription.FailureMessage(), []string{ns.Name})
 			tests.LogYunikornContainer(testDescription.FailureMessage())
 		}
-		// Delete all sleep pods
-		ginkgo.By("Delete all sleep pods")
-		err := kClient.DeletePods(ns.Name)
-		if err != nil {
-			fmt.Fprintf(ginkgo.GinkgoWriter, "Failed to delete pods in namespace %s - reason is %s\n", ns.Name, err.Error())
-		}
+
+		ginkgo.By("Tear down namespace: " + dev)
+		err := kClient.TearDownNamespace(dev)
+		Ω(err).NotTo(HaveOccurred())
 
 		// reset config
 		ginkgo.By("Restoring YuniKorn configuration")