Skip to content

Commit

Permalink
Adding e2e test case for multiple events in lifecycle policy
Browse files Browse the repository at this point in the history
  • Loading branch information
Rajadeepan D Ramesh committed Jul 11, 2019
1 parent c1cbbc1 commit 24eee57
Showing 1 changed file with 47 additions and 0 deletions.
47 changes: 47 additions & 0 deletions test/e2e/job_error_handling.go
Original file line number Diff line number Diff line change
Expand Up @@ -507,4 +507,51 @@ var _ = Describe("Job Error Handling", func() {
Expect(err).NotTo(HaveOccurred())
})

It("job level LifecyclePolicy, Event[]: PodEvicted, PodFailed; Action: TerminateJob", func() {
By("init test context")
context := initTestContext()
defer cleanupTestContext(context)

By("create job")
job := createJob(context, &jobSpec{
name: "evicted-terminate-job",
policies: []vkv1.LifecyclePolicy{
{
Action: vkv1.TerminateJobAction,
Events: []vkv1.Event{vkv1.PodEvictedEvent,
vkv1.PodFailedEvent,
vkv1.PodEvictedEvent,
},
},
},
tasks: []taskSpec{
{
name: "success",
img: defaultNginxImage,
min: 2,
rep: 2,
},
{
name: "delete",
img: defaultNginxImage,
min: 2,
rep: 2,
},
},
})

// job phase: pending -> running
err := waitJobPhases(context, job, []vkv1.JobPhase{vkv1.Pending, vkv1.Inqueue, vkv1.Running})
Expect(err).NotTo(HaveOccurred())

By("delete one pod of job")
podName := jobutil.MakePodName(job.Name, "delete", 0)
err = context.kubeclient.CoreV1().Pods(job.Namespace).Delete(podName, &metav1.DeleteOptions{})
Expect(err).NotTo(HaveOccurred())

// job phase: Terminating -> Terminated
err = waitJobPhases(context, job, []vkv1.JobPhase{vkv1.Terminating, vkv1.Terminated})
Expect(err).NotTo(HaveOccurred())
})

})

0 comments on commit 24eee57

Please sign in to comment.