Skip to content

Commit 60e8741

Browse files
author
Klaus Ma
authored
Merge pull request volcano-sh#89 from hzxuzhonghu/common-delete
2 parents 1acf92a + 078dcff commit 60e8741

File tree

1 file changed

+18
-14
lines changed

1 file changed

+18
-14
lines changed

pkg/controllers/job/job_controller_actions.go

+18-14
Original file line numberDiff line numberDiff line change
@@ -68,40 +68,32 @@ func (cc *Controller) killJob(jobInfo *apis.JobInfo, nextState state.NextStateFn
6868

6969
switch pod.Status.Phase {
7070
case v1.PodRunning:
71-
err := cc.kubeClients.CoreV1().Pods(pod.Namespace).Delete(pod.Name, nil)
71+
err := cc.deleteJobPod(job.Name, pod)
7272
if err != nil {
7373
running++
74-
glog.Errorf("Failed to delete pod %s for Job %s, err %#v",
75-
pod.Name, job.Name, err)
7674
errs = append(errs, err)
7775
continue
7876
}
7977
terminating++
8078
case v1.PodPending:
81-
err := cc.kubeClients.CoreV1().Pods(pod.Namespace).Delete(pod.Name, nil)
79+
err := cc.deleteJobPod(job.Name, pod)
8280
if err != nil {
8381
pending++
84-
glog.Errorf("Failed to delete pod %s for Job %s, err %#v",
85-
pod.Name, job.Name, err)
8682
errs = append(errs, err)
8783
continue
8884
}
8985
terminating++
9086
case v1.PodSucceeded:
91-
err := cc.kubeClients.CoreV1().Pods(pod.Namespace).Delete(pod.Name, nil)
87+
err := cc.deleteJobPod(job.Name, pod)
9288
if err != nil {
9389
succeeded++
94-
glog.Errorf("Failed to delete pod %s for Job %s, err %#v",
95-
pod.Name, job.Name, err)
9690
errs = append(errs, err)
9791
continue
9892
}
9993
case v1.PodFailed:
100-
err := cc.kubeClients.CoreV1().Pods(pod.Namespace).Delete(pod.Name, nil)
94+
err := cc.deleteJobPod(job.Name, pod)
10195
if err != nil {
10296
failed++
103-
glog.Errorf("Failed to delete pod %s for Job %s, err %#v",
104-
pod.Name, job.Name, err)
10597
errs = append(errs, err)
10698
continue
10799
}
@@ -294,9 +286,9 @@ func (cc *Controller) syncJob(jobInfo *apis.JobInfo, nextState state.NextStateFn
294286
for _, pod := range podToDelete {
295287
go func(pod *v1.Pod) {
296288
defer waitDeletionGroup.Done()
297-
err := cc.kubeClients.CoreV1().Pods(pod.Namespace).Delete(pod.Name, nil)
289+
err := cc.deleteJobPod(job.Name, pod)
298290
if err != nil {
299-
// Failed to create Pod, waitCreationGroup a moment and then create it again
291+
// Failed to delete Pod, waitCreationGroup a moment and then create it again
300292
// This is to ensure all podsMap under the same Job created
301293
// So gang-scheduling could schedule the Job successfully
302294
glog.Errorf("Failed to delete pod %s for Job %s, err %#v",
@@ -504,3 +496,15 @@ func (cc *Controller) createPodGroupIfNotExist(job *vkv1.Job) error {
504496

505497
return nil
506498
}
499+
500+
func (cc *Controller) deleteJobPod(jobName string, pod *v1.Pod) error {
501+
err := cc.kubeClients.CoreV1().Pods(pod.Namespace).Delete(pod.Name, nil)
502+
if err != nil && !apierrors.IsNotFound(err) {
503+
glog.Errorf("Failed to delete pod %s/%s for Job %s, err %#v",
504+
pod.Namespace, pod.Name, jobName, err)
505+
506+
return err
507+
}
508+
509+
return nil
510+
}

0 commit comments

Comments
 (0)