manirajv06 commented on code in PR #1096:
URL: https://github.com/apache/yunikorn-core/pull/1096#discussion_r3627983081
##########
pkg/scheduler/objects/application.go:
##########
@@ -1302,16 +1322,24 @@ func (sa *Application)
tryPlaceholderAllocate(nodeIterator func() NodeIterator,
}
}
}
+
// cannot allocate if the iterator is not giving us any schedulable
nodes
iterator := nodeIterator()
if iterator == nil {
return nil
}
+
// we checked all placeholders and asks nothing worked as yet
// pick the first fit and try all nodes if that fails give up
var allocResult *AllocationResult
if phFit != nil && reqFit != nil {
resKey := reqFit.GetAllocationKey()
+
+ // run predicates for this pod before in hand and fetch
feasible nodes
+ feasibleNodes, predicatesResult :=
reqFit.preAllocateConditions(true)
+ if !predicatesResult {
+ return nil
+ }
Review Comment:
`Have a look at predicateManagerImpl.podFitsNode()`
Yes, used to be. but not anymore. It does only filter checks. Newly
introduced API predicatesPreFilter does the prefilter checks which is required
to be called from the core side to ensure prefilter checks are passed. Please
check [Shim PR](https://github.com/apache/yunikorn-k8shim/pull/1043).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]