[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")