Skip to content

Commit bff9ad4

Browse files
committed
clean GeneralPredicates code
1 parent ffc2947 commit bff9ad4

File tree

1 file changed

+16
-35
lines changed

1 file changed

+16
-35
lines changed

pkg/scheduler/algorithm/predicates/predicates.go

Lines changed: 16 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1126,20 +1126,14 @@ func haveOverlap(a1, a2 []string) bool {
11261126
// that only non-critical pods need and EssentialPredicates are the predicates that all pods, including critical pods, need
11271127
func GeneralPredicates(pod *v1.Pod, meta PredicateMetadata, nodeInfo *schedulernodeinfo.NodeInfo) (bool, []PredicateFailureReason, error) {
11281128
var predicateFails []PredicateFailureReason
1129-
fit, reasons, err := noncriticalPredicates(pod, meta, nodeInfo)
1130-
if err != nil {
1131-
return false, predicateFails, err
1132-
}
1133-
if !fit {
1134-
predicateFails = append(predicateFails, reasons...)
1135-
}
1136-
1137-
fit, reasons, err = EssentialPredicates(pod, meta, nodeInfo)
1138-
if err != nil {
1139-
return false, predicateFails, err
1140-
}
1141-
if !fit {
1142-
predicateFails = append(predicateFails, reasons...)
1129+
for _, predicate := range []FitPredicate{noncriticalPredicates, EssentialPredicates} {
1130+
fit, reasons, err := predicate(pod, meta, nodeInfo)
1131+
if err != nil {
1132+
return false, predicateFails, err
1133+
}
1134+
if !fit {
1135+
predicateFails = append(predicateFails, reasons...)
1136+
}
11431137
}
11441138

11451139
return len(predicateFails) == 0, predicateFails, nil
@@ -1162,31 +1156,18 @@ func noncriticalPredicates(pod *v1.Pod, meta PredicateMetadata, nodeInfo *schedu
11621156
// EssentialPredicates are the predicates that all pods, including critical pods, need
11631157
func EssentialPredicates(pod *v1.Pod, meta PredicateMetadata, nodeInfo *schedulernodeinfo.NodeInfo) (bool, []PredicateFailureReason, error) {
11641158
var predicateFails []PredicateFailureReason
1165-
fit, reasons, err := PodFitsHost(pod, meta, nodeInfo)
1166-
if err != nil {
1167-
return false, predicateFails, err
1168-
}
1169-
if !fit {
1170-
predicateFails = append(predicateFails, reasons...)
1171-
}
1172-
11731159
// TODO: PodFitsHostPorts is essential for now, but kubelet should ideally
11741160
// preempt pods to free up host ports too
1175-
fit, reasons, err = PodFitsHostPorts(pod, meta, nodeInfo)
1176-
if err != nil {
1177-
return false, predicateFails, err
1178-
}
1179-
if !fit {
1180-
predicateFails = append(predicateFails, reasons...)
1161+
for _, predicate := range []FitPredicate{PodFitsHost, PodFitsHostPorts, PodMatchNodeSelector} {
1162+
fit, reasons, err := predicate(pod, meta, nodeInfo)
1163+
if err != nil {
1164+
return false, predicateFails, err
1165+
}
1166+
if !fit {
1167+
predicateFails = append(predicateFails, reasons...)
1168+
}
11811169
}
11821170

1183-
fit, reasons, err = PodMatchNodeSelector(pod, meta, nodeInfo)
1184-
if err != nil {
1185-
return false, predicateFails, err
1186-
}
1187-
if !fit {
1188-
predicateFails = append(predicateFails, reasons...)
1189-
}
11901171
return len(predicateFails) == 0, predicateFails, nil
11911172
}
11921173

0 commit comments

Comments
 (0)