From 7d0d17a25477cd37284ecbd057ae14bb300d6200 Mon Sep 17 00:00:00 2001 From: wangjianyu Date: Fri, 12 Apr 2024 16:54:35 +0800 Subject: [PATCH] descheduler: allow annotated pod pass non-retrievable filter (#1994) Signed-off-by: wangjianyu.wjy Co-authored-by: wangjianyu.wjy Signed-off-by: george --- pkg/descheduler/controllers/migration/arbitrator/filter.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkg/descheduler/controllers/migration/arbitrator/filter.go b/pkg/descheduler/controllers/migration/arbitrator/filter.go index 715a1b086..ed0487159 100644 --- a/pkg/descheduler/controllers/migration/arbitrator/filter.go +++ b/pkg/descheduler/controllers/migration/arbitrator/filter.go @@ -137,7 +137,10 @@ func (f *filter) initFilters(args *deschedulerconfig.MigrationControllerArgs, ha f.retryablePodFilter = func(pod *corev1.Pod) bool { return evictionsutil.HaveEvictAnnotation(pod) || retriablePodFilters(pod) } - f.nonRetryablePodFilter = podFilter + f.nonRetryablePodFilter = func(pod *corev1.Pod) bool { + // any annotated as evictable pod pass non-retryable filter + return evictionsutil.HaveEvictAnnotation(pod) || podFilter(pod) + } f.defaultFilterPlugin = defaultEvictor.(framework.FilterPlugin) return nil }