Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support [ResourceFlavor|TAS Node] Taints with effect=PreferNoSchedule #4257

Open
3 tasks done
tenzen-y opened this issue Feb 14, 2025 · 0 comments
Open
3 tasks done
Labels
kind/feature Categorizes issue or PR as related to a new feature.

Comments

@tenzen-y
Copy link
Member

What would you like to be added:
It would be great to consider supporting Taints and Tolerations with effect: PreferNoSchedule when flavor assigner and TAS assigns flavor to workloads.

Why is this needed:
Currently, we respect the Node Taints on ResourceFlavor Taints, and Node Taints on TopologyAwareScheduling as well.

But, we respect only NoSchedule and NoExecute effects and do not evaluate PreferNoSchedule in the following:

Basic FlavorAssigning:

taint, untolerated := corev1helpers.FindMatchingUntoleratedTaint(flavor.Spec.NodeTaints, append(podSpec.Tolerations, flavor.Spec.Tolerations...), func(t *corev1.Taint) bool {
return t.Effect == corev1.TaintEffectNoSchedule || t.Effect == corev1.TaintEffectNoExecute
})

TAS:
taint, untolerated := corev1helpers.FindMatchingUntoleratedTaint(leaf.nodeTaints, tolerations, func(t *corev1.Taint) bool {
return t.Effect == corev1.TaintEffectNoSchedule || t.Effect == corev1.TaintEffectNoExecute
})

Completion requirements:
I guess that we can look at what kube-scheduler do for effect:PreferNoSchedule, and then introduce the similar mechanism to Kueue as commonize solution across Flavor (ResourceFlavor Taints) and TAS Node selection.

This enhancement requires the following artifacts:

  • Design doc
  • API change
  • Docs update

The artifacts should be linked in subsequent comments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature.
Projects
None yet
Development

No branches or pull requests

1 participant