From 3e4445b9fbe509691d06989e116ce846ab8a3df8 Mon Sep 17 00:00:00 2001 From: Thor <1187526662@qq.com> Date: Thu, 18 Jun 2020 20:34:09 +0800 Subject: [PATCH 1/4] add some e2e cases about queue Signed-off-by: Thor <1187526662@qq.com> --- test/e2e/admission.go | 192 +++++++++++++++++++++++++++--------------- 1 file changed, 124 insertions(+), 68 deletions(-) diff --git a/test/e2e/admission.go b/test/e2e/admission.go index d5fbe5a424..80b2d0bc9d 100644 --- a/test/e2e/admission.go +++ b/test/e2e/admission.go @@ -24,6 +24,7 @@ import ( "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "volcano.sh/volcano/pkg/apis/batch/v1alpha1" @@ -65,40 +66,40 @@ var _ = ginkgo.Describe("Job E2E Test: Test Admission service", func() { var job v1alpha1.Job jsonData := []byte(`{ - "apiVersion": "batch.volcano.sh/v1alpha1", - "kind": "Job", - "metadata": { - "name": "test-job" - }, - "spec": { - "minAvailable": 3, - "schedulerName": "volcano", - "queue": "default", - "tasks": [ - { - "replicas": 3, - "name": "default-nginx", - "template": { - "spec": { - "containers": [ - { - "image": "nginx", - "imagePullPolicy": "IfNotPresent", - "name": "nginx", - "resources": { - "requests": { - "cpu": "-1" - } - } - } - ], - "restartPolicy": "Never" - } - } - } - ] - } -}`) + "apiVersion": "batch.volcano.sh/v1alpha1", + "kind": "Job", + "metadata": { + "name": "test-job" + }, + "spec": { + "minAvailable": 3, + "schedulerName": "volcano", + "queue": "default", + "tasks": [ + { + "replicas": 3, + "name": "default-nginx", + "template": { + "spec": { + "containers": [ + { + "image": "nginx", + "imagePullPolicy": "IfNotPresent", + "name": "nginx", + "resources": { + "requests": { + "cpu": "-1" + } + } + } + ], + "restartPolicy": "Never" + } + } + } + ] + } + }`) err := json.Unmarshal(jsonData, &job) gomega.Expect(err).NotTo(gomega.HaveOccurred()) _, err = ctx.vcclient.BatchV1alpha1().Jobs(ctx.namespace).Create(context.TODO(), &job, v1.CreateOptions{}) @@ -112,40 +113,40 @@ var _ = ginkgo.Describe("Job E2E Test: Test Admission service", func() { var job v1alpha1.Job jsonData := []byte(`{ - "apiVersion": "batch.volcano.sh/v1alpha1", - "kind": "Job", - "metadata": { - "name": "test-job" - }, - "spec": { - "minAvailable": 3, - "schedulerName": "volcano", - "queue": "default", - "tasks": [ - { - "replicas": 3, - "name": "default-nginx", - "template": { - "spec": { - "containers": [ - { - "image": "nginx", - "imagePullPolicy": "IfNotPresent", - "name": "nginx", - "resources": { - "requests": { - "memory": "-1" - } - } - } - ], - "restartPolicy": "Never" - } - } - } - ] - } -}`) + "apiVersion": "batch.volcano.sh/v1alpha1", + "kind": "Job", + "metadata": { + "name": "test-job" + }, + "spec": { + "minAvailable": 3, + "schedulerName": "volcano", + "queue": "default", + "tasks": [ + { + "replicas": 3, + "name": "default-nginx", + "template": { + "spec": { + "containers": [ + { + "image": "nginx", + "imagePullPolicy": "IfNotPresent", + "name": "nginx", + "resources": { + "requests": { + "memory": "-1" + } + } + } + ], + "restartPolicy": "Never" + } + } + } + ] + } + }`) err := json.Unmarshal(jsonData, &job) gomega.Expect(err).NotTo(gomega.HaveOccurred()) @@ -1391,4 +1392,59 @@ var _ = ginkgo.Describe("Job E2E Test: Test Admission service", func() { _, err = ctx.vcclient.BatchV1alpha1().Jobs(ctx.namespace).Create(context.TODO(), &job, v1.CreateOptions{}) gomega.Expect(err).NotTo(gomega.HaveOccurred()) }) + + ginkgo.It("Create queue by default", func() { + queueName := "default-queue" + ctx := initTestContext(options{}) + defer cleanupTestContext(ctx) + + queue := &schedulingv1beta1.Queue{ + ObjectMeta: metav1.ObjectMeta{ + Name: queueName, + }, + Spec: schedulingv1beta1.QueueSpec{ + Weight: 1, + }, + } + + _, err := ctx.vcclient.SchedulingV1beta1().Queues().Create(context.TODO(), queue, metav1.CreateOptions{}) + gomega.Expect(err).NotTo(gomega.HaveOccurred()) + }) + + ginkgo.It("Open queue can NOT be deleted", func() { + queueName := "deleted-open-queue" + ctx := initTestContext(options{}) + defer cleanupTestContext(ctx) + + queue := &schedulingv1beta1.Queue{ + ObjectMeta: metav1.ObjectMeta{ + Name: queueName, + }, + Spec: schedulingv1beta1.QueueSpec{ + Weight: 1, + }, + Status: schedulingv1beta1.QueueStatus{ + State: schedulingv1beta1.QueueStateOpen, + }, + } + + _, err := ctx.vcclient.SchedulingV1beta1().Queues().Create(context.TODO(), queue, metav1.CreateOptions{}) + gomega.Expect(err).NotTo(gomega.HaveOccurred()) + err = waitQueueStatus(func() (bool, error) { + queue, err := ctx.vcclient.SchedulingV1beta1().Queues().Get(context.TODO(), queue.Name, metav1.GetOptions{}) + gomega.Expect(err).NotTo(gomega.HaveOccurred()) + return queue.Status.State == schedulingv1beta1.QueueStateOpen, nil + }) + gomega.Expect(err).NotTo(gomega.HaveOccurred()) + err = ctx.vcclient.SchedulingV1beta1().Queues().Delete(context.TODO(), queue.Name, metav1.DeleteOptions{}) + gomega.Expect(err).To(gomega.HaveOccurred()) + }) + + ginkgo.It("Default queue can NOT be deleted", func() { + ctx := initTestContext(options{}) + defer cleanupTestContext(ctx) + + err := ctx.vcclient.SchedulingV1beta1().Queues().Delete(context.TODO(), "default", metav1.DeleteOptions{}) + gomega.Expect(err).To(gomega.HaveOccurred()) + }) }) From 179b0a2609be5b3e67029ca2c5a40c2d9051b4e1 Mon Sep 17 00:00:00 2001 From: Thor <1187526662@qq.com> Date: Thu, 18 Jun 2020 20:58:16 +0800 Subject: [PATCH 2/4] format case description Signed-off-by: Thor <1187526662@qq.com> --- test/e2e/admission.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/e2e/admission.go b/test/e2e/admission.go index 80b2d0bc9d..d8fb41e20a 100644 --- a/test/e2e/admission.go +++ b/test/e2e/admission.go @@ -1393,7 +1393,7 @@ var _ = ginkgo.Describe("Job E2E Test: Test Admission service", func() { gomega.Expect(err).NotTo(gomega.HaveOccurred()) }) - ginkgo.It("Create queue by default", func() { + ginkgo.It("queue check: create queue by default", func() { queueName := "default-queue" ctx := initTestContext(options{}) defer cleanupTestContext(ctx) @@ -1411,7 +1411,7 @@ var _ = ginkgo.Describe("Job E2E Test: Test Admission service", func() { gomega.Expect(err).NotTo(gomega.HaveOccurred()) }) - ginkgo.It("Open queue can NOT be deleted", func() { + ginkgo.It("queue check: open queue can NOT be deleted", func() { queueName := "deleted-open-queue" ctx := initTestContext(options{}) defer cleanupTestContext(ctx) @@ -1440,7 +1440,7 @@ var _ = ginkgo.Describe("Job E2E Test: Test Admission service", func() { gomega.Expect(err).To(gomega.HaveOccurred()) }) - ginkgo.It("Default queue can NOT be deleted", func() { + ginkgo.It("queue check: default queue can NOT be deleted", func() { ctx := initTestContext(options{}) defer cleanupTestContext(ctx) From df2b48b134dfedff891f69c395d013b19c4f6e16 Mon Sep 17 00:00:00 2001 From: Thor <1187526662@qq.com> Date: Sat, 20 Jun 2020 09:06:47 +0800 Subject: [PATCH 3/4] test Signed-off-by: Thor <1187526662@qq.com> --- test/e2e/admission.go | 1 + 1 file changed, 1 insertion(+) diff --git a/test/e2e/admission.go b/test/e2e/admission.go index d8fb41e20a..ac35dc646f 100644 --- a/test/e2e/admission.go +++ b/test/e2e/admission.go @@ -1447,4 +1447,5 @@ var _ = ginkgo.Describe("Job E2E Test: Test Admission service", func() { err := ctx.vcclient.SchedulingV1beta1().Queues().Delete(context.TODO(), "default", metav1.DeleteOptions{}) gomega.Expect(err).To(gomega.HaveOccurred()) }) + }) From 888b98b910310cb1c4dbb3ea32fca0182fc35e21 Mon Sep 17 00:00:00 2001 From: Thor <1187526662@qq.com> Date: Sat, 20 Jun 2020 10:46:27 +0800 Subject: [PATCH 4/4] remove some redundant cases Signed-off-by: Thor <1187526662@qq.com> --- test/e2e/admission.go | 27 --------------------------- 1 file changed, 27 deletions(-) diff --git a/test/e2e/admission.go b/test/e2e/admission.go index ac35dc646f..e84a92a7b4 100644 --- a/test/e2e/admission.go +++ b/test/e2e/admission.go @@ -1393,24 +1393,6 @@ var _ = ginkgo.Describe("Job E2E Test: Test Admission service", func() { gomega.Expect(err).NotTo(gomega.HaveOccurred()) }) - ginkgo.It("queue check: create queue by default", func() { - queueName := "default-queue" - ctx := initTestContext(options{}) - defer cleanupTestContext(ctx) - - queue := &schedulingv1beta1.Queue{ - ObjectMeta: metav1.ObjectMeta{ - Name: queueName, - }, - Spec: schedulingv1beta1.QueueSpec{ - Weight: 1, - }, - } - - _, err := ctx.vcclient.SchedulingV1beta1().Queues().Create(context.TODO(), queue, metav1.CreateOptions{}) - gomega.Expect(err).NotTo(gomega.HaveOccurred()) - }) - ginkgo.It("queue check: open queue can NOT be deleted", func() { queueName := "deleted-open-queue" ctx := initTestContext(options{}) @@ -1439,13 +1421,4 @@ var _ = ginkgo.Describe("Job E2E Test: Test Admission service", func() { err = ctx.vcclient.SchedulingV1beta1().Queues().Delete(context.TODO(), queue.Name, metav1.DeleteOptions{}) gomega.Expect(err).To(gomega.HaveOccurred()) }) - - ginkgo.It("queue check: default queue can NOT be deleted", func() { - ctx := initTestContext(options{}) - defer cleanupTestContext(ctx) - - err := ctx.vcclient.SchedulingV1beta1().Queues().Delete(context.TODO(), "default", metav1.DeleteOptions{}) - gomega.Expect(err).To(gomega.HaveOccurred()) - }) - })