@@ -21,6 +21,10 @@ import (
2121
2222 . "github.com/onsi/ginkgo"
2323 . "github.com/onsi/gomega"
24+
25+ batchv1 "k8s.io/api/batch/v1"
26+ "k8s.io/api/core/v1"
27+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2428)
2529
2630var _ = Describe ("Job E2E Test" , func () {
@@ -286,4 +290,101 @@ var _ = Describe("Job E2E Test", func() {
286290 Expect (err ).NotTo (HaveOccurred ())
287291 Expect (evicted ).NotTo (BeTrue ())
288292 })
293+
294+ It ("Schedule v1.Job type using Volcano scheduler" , func () {
295+ context := initTestContext ()
296+ defer cleanupTestContext (context )
297+ namespace := "test"
298+ parallel := int32 (2 )
299+
300+ job := & batchv1.Job {
301+ ObjectMeta : metav1.ObjectMeta {
302+ Name : "job1" ,
303+ Namespace : namespace ,
304+ },
305+ Spec : batchv1.JobSpec {
306+ Parallelism : & parallel ,
307+ Template : v1.PodTemplateSpec {
308+ Spec : v1.PodSpec {
309+ RestartPolicy : v1 .RestartPolicyNever ,
310+ SchedulerName : schedulerName ,
311+ Containers : []v1.Container {
312+ {
313+ Name : "test-container" ,
314+ Image : "nginx" ,
315+ },
316+ },
317+ },
318+ },
319+ },
320+ }
321+
322+ //create job
323+ job , err := context .kubeclient .BatchV1 ().Jobs (namespace ).Create (job )
324+ Expect (err ).NotTo (HaveOccurred ())
325+
326+ err = waitJobPhaseReady (context , job )
327+ Expect (err ).NotTo (HaveOccurred ())
328+ })
329+
330+ It ("Schedule v1.Job type using Volcano scheduler with error case" , func () {
331+ context := initTestContext ()
332+ defer cleanupTestContext (context )
333+ namespace := "test"
334+ parallel := int32 (2 )
335+
336+ errorJob := & batchv1.Job {
337+ ObjectMeta : metav1.ObjectMeta {
338+ Name : "job1" ,
339+ Namespace : namespace ,
340+ },
341+ Spec : batchv1.JobSpec {
342+ Parallelism : & parallel ,
343+ Template : v1.PodTemplateSpec {
344+ Spec : v1.PodSpec {
345+ SchedulerName : schedulerName ,
346+ Containers : []v1.Container {
347+ {
348+ Name : "test-container" ,
349+ Image : "nginx" ,
350+ },
351+ },
352+ },
353+ },
354+ },
355+ }
356+
357+ job := & batchv1.Job {
358+ ObjectMeta : metav1.ObjectMeta {
359+ Name : "job1" ,
360+ Namespace : namespace ,
361+ },
362+ Spec : batchv1.JobSpec {
363+ Parallelism : & parallel ,
364+ Template : v1.PodTemplateSpec {
365+ Spec : v1.PodSpec {
366+ RestartPolicy : v1 .RestartPolicyNever ,
367+ SchedulerName : schedulerName ,
368+ Containers : []v1.Container {
369+ {
370+ Name : "test-container" ,
371+ Image : "nginx" ,
372+ },
373+ },
374+ },
375+ },
376+ },
377+ }
378+
379+ //create error job
380+ errorJob , err := context .kubeclient .BatchV1 ().Jobs (namespace ).Create (errorJob )
381+ Expect (err ).To (HaveOccurred ())
382+
383+ //create job
384+ job , err = context .kubeclient .BatchV1 ().Jobs (namespace ).Create (job )
385+ Expect (err ).NotTo (HaveOccurred ())
386+
387+ err = waitJobPhaseReady (context , job )
388+ Expect (err ).NotTo (HaveOccurred ())
389+ })
289390})
0 commit comments