Fix raises request according to pod min limit set in LimitRange test
Admisson controller was crashing because it was tryig to divide by 0 so it dind't make any changes to pod. Adter I fixed that only 1 pod would fit in the cluster so I lowered recommendation.
This commit is contained in:
		
							parent
							
								
									f507cd1e6a
								
							
						
					
					
						commit
						9cb45438c1
					
				| 
						 | 
				
			
			@ -260,14 +260,14 @@ var _ = AdmissionControllerE2eDescribe("Admission-controller", func() {
 | 
			
		|||
				{
 | 
			
		||||
					ContainerName: "hamster",
 | 
			
		||||
					Target: apiv1.ResourceList{
 | 
			
		||||
						apiv1.ResourceCPU:    ParseQuantityOrDie("250m"),
 | 
			
		||||
						apiv1.ResourceCPU:    ParseQuantityOrDie("120m"),
 | 
			
		||||
						apiv1.ResourceMemory: ParseQuantityOrDie("100Mi"), // memory is downscaled
 | 
			
		||||
					},
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					ContainerName: "hamster2",
 | 
			
		||||
					Target: apiv1.ResourceList{
 | 
			
		||||
						apiv1.ResourceCPU:    ParseQuantityOrDie("250m"),
 | 
			
		||||
						apiv1.ResourceCPU:    ParseQuantityOrDie("120m"),
 | 
			
		||||
						apiv1.ResourceMemory: ParseQuantityOrDie("100Mi"), // memory is downscaled
 | 
			
		||||
					},
 | 
			
		||||
				},
 | 
			
		||||
| 
						 | 
				
			
			@ -289,7 +289,7 @@ var _ = AdmissionControllerE2eDescribe("Admission-controller", func() {
 | 
			
		|||
		// request that limitrange allows.
 | 
			
		||||
		// Limit to request ratio should stay unchanged.
 | 
			
		||||
		for _, pod := range podList.Items {
 | 
			
		||||
			gomega.Expect(*pod.Spec.Containers[0].Resources.Requests.Cpu()).To(gomega.Equal(ParseQuantityOrDie("250m")))
 | 
			
		||||
			gomega.Expect(*pod.Spec.Containers[0].Resources.Requests.Cpu()).To(gomega.Equal(ParseQuantityOrDie("120m")))
 | 
			
		||||
			gomega.Expect(*pod.Spec.Containers[0].Resources.Requests.Memory()).To(gomega.Equal(ParseQuantityOrDie("250Mi")))
 | 
			
		||||
			gomega.Expect(pod.Spec.Containers[0].Resources.Limits.Cpu().MilliValue()).To(gomega.BeNumerically(">=", 75))
 | 
			
		||||
			gomega.Expect(pod.Spec.Containers[0].Resources.Limits.Memory().Value()).To(gomega.BeNumerically(">=", 250*1024*1024))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -344,7 +344,7 @@ func applyPodLimitRange(resources []vpa_types.RecommendedContainerResources,
 | 
			
		|||
		return resources
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if minLimit.Cmp(sumRecommendation) > 0 {
 | 
			
		||||
	if minLimit.Cmp(sumRecommendation) > 0 && !sumLimit.IsZero() {
 | 
			
		||||
		for i := range pod.Spec.Containers {
 | 
			
		||||
			request := (*fieldGetter(resources[i]))[resourceName]
 | 
			
		||||
			cappedContainerRequest, _ := scaleQuantityProportionally(&request, &sumRecommendation, &minLimit)
 | 
			
		||||
| 
						 | 
				
			
			@ -353,6 +353,10 @@ func applyPodLimitRange(resources []vpa_types.RecommendedContainerResources,
 | 
			
		|||
		return resources
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if sumLimit.IsZero() {
 | 
			
		||||
		return resources
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var targetTotalLimit resource.Quantity
 | 
			
		||||
	if minLimit.Cmp(sumLimit) > 0 {
 | 
			
		||||
		targetTotalLimit = minLimit
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue