@@ -21,6 +21,10 @@ import (
21
21
22
22
. "github.com/onsi/ginkgo"
23
23
. "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"
24
28
)
25
29
26
30
var _ = Describe ("Job E2E Test" , func () {
@@ -286,4 +290,101 @@ var _ = Describe("Job E2E Test", func() {
286
290
Expect (err ).NotTo (HaveOccurred ())
287
291
Expect (evicted ).NotTo (BeTrue ())
288
292
})
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
+ })
289
390
})
0 commit comments