mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-26 21:17:23 +00:00
Calling Unreserve plugin before recordSchedulingFailure in case of binding failure
Calling recordSchedulingFailure puts the pod back to scheduling queue in another goroutine so pod may get a chance to be bond again before unreseve plugin cleaning state about it.
This commit is contained in:
parent
3f1cb97f9a
commit
1f3bc52eab
@ -443,8 +443,6 @@ func (sched *Scheduler) bind(assumed *v1.Pod, targetNode string, pluginContext *
|
|||||||
if err := sched.config.SchedulerCache.ForgetPod(assumed); err != nil {
|
if err := sched.config.SchedulerCache.ForgetPod(assumed); err != nil {
|
||||||
klog.Errorf("scheduler cache ForgetPod failed: %v", err)
|
klog.Errorf("scheduler cache ForgetPod failed: %v", err)
|
||||||
}
|
}
|
||||||
sched.recordSchedulingFailure(assumed, err, SchedulerError,
|
|
||||||
fmt.Sprintf("Binding rejected: %v", err))
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -601,6 +599,7 @@ func (sched *Scheduler) scheduleOne() {
|
|||||||
metrics.PodScheduleErrors.Inc()
|
metrics.PodScheduleErrors.Inc()
|
||||||
// trigger un-reserve plugins to clean up state associated with the reserved Pod
|
// trigger un-reserve plugins to clean up state associated with the reserved Pod
|
||||||
fwk.RunUnreservePlugins(pluginContext, assumedPod, scheduleResult.SuggestedHost)
|
fwk.RunUnreservePlugins(pluginContext, assumedPod, scheduleResult.SuggestedHost)
|
||||||
|
sched.recordSchedulingFailure(assumedPod, err, SchedulerError, fmt.Sprintf("Binding rejected: %v", err))
|
||||||
} else {
|
} else {
|
||||||
klog.V(2).Infof("pod %v/%v is bound successfully on node %v, %d nodes evaluated, %d nodes were found feasible", assumedPod.Namespace, assumedPod.Name, scheduleResult.SuggestedHost, scheduleResult.EvaluatedNodes, scheduleResult.FeasibleNodes)
|
klog.V(2).Infof("pod %v/%v is bound successfully on node %v, %d nodes evaluated, %d nodes were found feasible", assumedPod.Namespace, assumedPod.Name, scheduleResult.SuggestedHost, scheduleResult.EvaluatedNodes, scheduleResult.FeasibleNodes)
|
||||||
metrics.PodScheduleSuccesses.Inc()
|
metrics.PodScheduleSuccesses.Inc()
|
||||||
|
Loading…
Reference in New Issue
Block a user