code: func (p *podEvaluator) Constraints(required []corev1.ResourceName, item runtime.Object) error {
  	pod, err := toExternalPodOrError(item)
  	if err != nil {
  		return err
  	}
  
  	// BACKWARD COMPATIBILITY REQUIREMENT: if we quota cpu or memory, then each container
  	// must make an explicit request for the resource.  this was a mistake.  it coupled
  	// validation with resource counting, but we did this before QoS was even defined.
  	// let's not make that mistake again with other resources now that QoS is defined.
  	requiredSet := quota.ToSet(required).Intersection(validationSet)
  	missingSet := sets.NewString()
  	for i := range pod.Spec.Containers {
  		enforcePodContainerConstraints(&pod.Spec.Containers[i], requiredSet, missingSet)
  	}
  	for i := range pod.Spec.InitContainers {
  		enforcePodContainerConstraints(&pod.Spec.InitContainers[i], requiredSet, missingSet)
  	}
  	if len(missingSet) == 0 {
  		return nil
  	}
  	return fmt.Errorf("must specify %s", strings.Join(missingSet.List(), ","))
  }
docs: // Constraints verifies that all required resources are present on the pod
  // In addition, it validates that the resources are valid (i.e. requests < limits)