in pkg/controllers/selection/controller.go [139:160]
func validateAffinity(pod *v1.Pod) (errs error) {
if pod.Spec.Affinity == nil {
return nil
}
if pod.Spec.Affinity.PodAffinity != nil {
errs = multierr.Append(errs, fmt.Errorf("pod affinity is not supported"))
}
if pod.Spec.Affinity.PodAntiAffinity != nil {
errs = multierr.Append(errs, fmt.Errorf("pod anti-affinity is not supported"))
}
if pod.Spec.Affinity.NodeAffinity != nil {
for _, term := range pod.Spec.Affinity.NodeAffinity.PreferredDuringSchedulingIgnoredDuringExecution {
errs = multierr.Append(errs, validateNodeSelectorTerm(term.Preference))
}
if pod.Spec.Affinity.NodeAffinity.RequiredDuringSchedulingIgnoredDuringExecution != nil {
for _, term := range pod.Spec.Affinity.NodeAffinity.RequiredDuringSchedulingIgnoredDuringExecution.NodeSelectorTerms {
errs = multierr.Append(errs, validateNodeSelectorTerm(term))
}
}
}
return errs
}