@@ -50,7 +50,7 @@ func Test_calculateVPARecommendation(t *testing.T) {
5050 ContainerName : "*" ,
5151 Target : corev1.ResourceList {
5252 corev1 .ResourceCPU : resource .MustParse ("0.2" ),
53- corev1 .ResourceMemory : resource .MustParse ("1Gi " ),
53+ corev1 .ResourceMemory : resource .MustParse ("600Mi " ),
5454 },
5555 },
5656 },
@@ -86,7 +86,7 @@ func Test_calculateVPARecommendation(t *testing.T) {
8686 ContainerName : "*" ,
8787 Target : corev1.ResourceList {
8888 corev1 .ResourceCPU : resource .MustParse ("100m" ),
89- corev1 .ResourceMemory : resource .MustParse ("1Gi " ),
89+ corev1 .ResourceMemory : resource .MustParse ("0.6Gi " ),
9090 },
9191 },
9292 },
@@ -183,6 +183,42 @@ func Test_calculateVPARecommendation(t *testing.T) {
183183 },
184184 },
185185 },
186+ {
187+ name : "Use memory to calculate multiplier when it increase more than cpu" ,
188+ args : args {
189+ vpa : & vpav1.VerticalPodAutoscaler {
190+ Status : vpav1.VerticalPodAutoscalerStatus {
191+ Recommendation : & vpav1.RecommendedPodResources {
192+ ContainerRecommendations : []vpav1.RecommendedContainerResources {
193+ {
194+ ContainerName : "*" ,
195+ Target : corev1.ResourceList {
196+ corev1 .ResourceCPU : resource .MustParse ("0.2" ),
197+ corev1 .ResourceMemory : resource .MustParse ("1Gi" ),
198+ },
199+ },
200+ },
201+ },
202+ },
203+ },
204+ vpaSpec : & v1alpha1.VPASpec {
205+ ResourceUnit : & v1alpha1.ResourceUnit {
206+ CPU : resource .MustParse ("200m" ),
207+ Memory : resource .MustParse ("800Mi" ),
208+ },
209+ },
210+ },
211+ want : & corev1.ResourceRequirements {
212+ Requests : corev1.ResourceList {
213+ corev1 .ResourceCPU : * resource .NewScaledQuantity (400 , resource .Milli ),
214+ corev1 .ResourceMemory : * resource .NewScaledQuantity (2 * 800 * 1024 * 1024 * 1000 , resource .Milli ),
215+ },
216+ Limits : corev1.ResourceList {
217+ corev1 .ResourceCPU : * resource .NewScaledQuantity (400 , resource .Milli ),
218+ corev1 .ResourceMemory : * resource .NewScaledQuantity (2 * 800 * 1024 * 1024 * 1000 , resource .Milli ),
219+ },
220+ },
221+ },
186222 {
187223 name : "Use the target memory when target memory is equal to the resource unit memory" ,
188224 args : args {
@@ -360,8 +396,8 @@ func Test_calculateVPARecommendation(t *testing.T) {
360396 },
361397 want : & corev1.ResourceRequirements {
362398 Requests : corev1.ResourceList {
363- corev1 .ResourceCPU : * resource .NewScaledQuantity (200 , resource .Milli ),
364- corev1 .ResourceMemory : * resource .NewScaledQuantity (800 * 1024 * 1024 * 1000 , resource .Milli ),
399+ corev1 .ResourceCPU : * resource .NewScaledQuantity (400 , resource .Milli ),
400+ corev1 .ResourceMemory : * resource .NewScaledQuantity (2 * 800 * 1024 * 1024 * 1000 , resource .Milli ),
365401 },
366402 },
367403 },
0 commit comments