1
0
mirror of https://github.com/kubernetes-sigs/descheduler.git synced 2026-01-26 13:29:11 +01:00

PodLifeTime: update support pods with container status and pods reason (#1330)

* update support podlifetime status

Signed-off-by: dongjiang1989 <dongjiang1989@126.com>

* update verify gen

Signed-off-by: dongjiang1989 <dongjiang1989@126.com>

---------

Signed-off-by: dongjiang1989 <dongjiang1989@126.com>
This commit is contained in:
dongjiang
2024-01-07 00:50:32 +08:00
committed by GitHub
parent c2cf78a760
commit e7980442ef
5 changed files with 199 additions and 3 deletions

View File

@@ -75,10 +75,17 @@ func New(args runtime.Object, handle frameworktypes.Handle) (frameworktypes.Plug
if len(podLifeTimeArgs.States) > 0 {
states := sets.New(podLifeTimeArgs.States...)
podFilter = podutil.WrapFilterFuncs(podFilter, func(pod *v1.Pod) bool {
// Pod Status Phase
if states.Has(string(pod.Status.Phase)) {
return true
}
// Pod Status Reason
if states.Has(pod.Status.Reason) {
return true
}
// Container Status Reason
for _, containerStatus := range pod.Status.ContainerStatuses {
if containerStatus.State.Waiting != nil && states.Has(containerStatus.State.Waiting.Reason) {
return true