// PodPriority returns priority of the given pod. func PodPriority(pod *v1.Pod) int32 { … } // MatchNodeSelectorTerms checks whether the node labels and fields match node selector terms in ORed; // nil or empty term matches no objects. func MatchNodeSelectorTerms( node *v1.Node, nodeSelector *v1.NodeSelector, ) (bool, error) { … } // GetAvoidPodsFromNodeAnnotations scans the list of annotations and // returns the pods that needs to be avoided for this node from scheduling func GetAvoidPodsFromNodeAnnotations(annotations map[string]string) (v1.AvoidPods, error) { … } // TolerationsTolerateTaint checks if taint is tolerated by any of the tolerations. func TolerationsTolerateTaint(tolerations []v1.Toleration, taint *v1.Taint) bool { … } type taintsFilterFunc … // FindMatchingUntoleratedTaint checks if the given tolerations tolerates // all the filtered taints, and returns the first taint without a toleration // Returns true if there is an untolerated taint // Returns false if all taints are tolerated func FindMatchingUntoleratedTaint(taints []v1.Taint, tolerations []v1.Toleration, inclusionFilter taintsFilterFunc) (v1.Taint, bool) { … } // getFilteredTaints returns a list of taints satisfying the filter predicate func getFilteredTaints(taints []v1.Taint, inclusionFilter taintsFilterFunc) []v1.Taint { … }