Merge pull request #56083 from yguo0905/sched-log
Automatic merge from submit-queue (batch tested with PRs 56128, 56004, 56083, 55833, 56042). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
Suppress the warning when a pod in binding cannot be expired
**What this PR does / why we need it**:
I have a scheduler extender, which implements the `Bind` call and takes several minutes to respond to that call. The scheduler log was full of the following error.
```
W1120 10:23:09.691188 99720 cache.go:442] Couldn't expire cache for pod default/xxx. Binding is still in progress.
```
The TTL for a pod to be expired in the scheduler cache is 30 seconds. But it's also possible that the binding (which is done asynchronously) can take longer than 30 seconds.
https://github.com/kubernetes/kubernetes/blob/2cbb07a4394ef4cfc1666e114674a047023ed178/plugin/pkg/scheduler/factory/factory.go#L143
The go routine that checks whether a pod has been expired is triggered every second.
https://github.com/kubernetes/kubernetes/blob/2cbb07a4394ef4cfc1666e114674a047023ed178/plugin/pkg/scheduler/schedulercache/cache.go#L33
So, it will print the the following warning every seconds until the pod gets expired.
https://github.com/kubernetes/kubernetes/blob/2cbb07a4394ef4cfc1666e114674a047023ed178/plugin/pkg/scheduler/schedulercache/cache.go#L442-L443
I think it's a valid for the binding to take more than one second, so we should downgrade this to an info to avoid polluting the scheduler log.
**Release note**:
```release-note
None
```
/sig scheduling
/assign @bsalamat
/cc @vishh
Showing
Please
register
or
sign in
to comment