in tpu-provisioner/internal/controller/creation_controller.go [97:117]
func (r *CreationReconciler) SetupWithManager(mgr ctrl.Manager) error {
return ctrl.NewControllerManagedBy(mgr).
For(&corev1.Pod{}).
WithOptions(controller.Options{
MaxConcurrentReconciles: r.Concurrency,
}).
WithEventFilter(predicate.NewPredicateFuncs(func(object client.Object) bool {
// Only reconcile pods which meet the conditions defined below.
pod, ok := object.(*corev1.Pod)
return ok &&
partOfJobSet(pod) &&
isLeaderPod(pod) &&
isPending(pod) &&
isUnschedulable(pod) &&
doesRequestResource(pod, r.PodCriteria.ResourceType) &&
hasNodeSelectors(pod, cloud.GKETPUNodeSelector) &&
!autoProvisioningDisabled(pod) &&
!podDeleted(pod)
})).
Complete(r)
}