Skip to content

Commit 055affa

Browse files
committed
Address review feedback from raywainman (2)
1 parent b7b30d4 commit 055affa

File tree

2 files changed

+27
-20
lines changed

2 files changed

+27
-20
lines changed

vertical-pod-autoscaler/pkg/recommender/routines/capping_post_processor.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import (
2020
"k8s.io/klog/v2"
2121

2222
apiv1 "k8s.io/api/core/v1"
23+
2324
vpa_types "k8s.io/autoscaler/vertical-pod-autoscaler/pkg/apis/autoscaling.k8s.io/v1"
2425
vpa_utils "k8s.io/autoscaler/vertical-pod-autoscaler/pkg/utils/vpa"
2526
)

vertical-pod-autoscaler/pkg/utils/vpa/capping.go

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -193,30 +193,36 @@ func applyVPAPolicyForContainer(containerName string,
193193
cappedRecommendations := containerRecommendation.DeepCopy()
194194
containerPolicy := GetContainerResourcePolicy(containerName, policy)
195195

196+
var minAllowed apiv1.ResourceList
197+
if containerPolicy != nil {
198+
minAllowed = containerPolicy.MinAllowed
199+
}
200+
201+
var maxAllowed apiv1.ResourceList
202+
if containerPolicy != nil {
203+
maxAllowed = containerPolicy.MaxAllowed
204+
}
205+
if maxAllowed == nil {
206+
maxAllowed = globalMaxAllowed
207+
} else {
208+
// Set resources from the global max allowed if the VPA max allowed is missing them.
209+
for resourceName, quantity := range globalMaxAllowed {
210+
if _, ok := maxAllowed[resourceName]; !ok {
211+
maxAllowed[resourceName] = quantity
212+
}
213+
}
214+
}
215+
196216
process := func(recommendation apiv1.ResourceList) {
197-
for resourceName, recommended := range recommendation {
198-
var maxAllowed apiv1.ResourceList
199-
// containerPolicy can be nil (user does not have to configure it).
200-
if containerPolicy != nil {
201-
cappedToMin, _ := maybeCapToPolicyMin(recommended, resourceName, containerPolicy)
217+
for resourceName := range recommendation {
218+
if minAllowed != nil {
219+
cappedToMin, _ := maybeCapToMin(recommendation[resourceName], resourceName, minAllowed)
202220
recommendation[resourceName] = cappedToMin
203-
204-
maxAllowed = containerPolicy.MaxAllowed
205221
}
206-
207-
if maxAllowed == nil {
208-
maxAllowed = globalMaxAllowed
209-
} else {
210-
// Set resources from the global maxAllowed if the VPA maxAllowed is missing them.
211-
for resourceName, quantity := range globalMaxAllowed {
212-
if _, ok := maxAllowed[resourceName]; !ok {
213-
maxAllowed[resourceName] = quantity
214-
}
215-
}
222+
if maxAllowed != nil {
223+
cappedToMax, _ := maybeCapToMax(recommendation[resourceName], resourceName, maxAllowed)
224+
recommendation[resourceName] = cappedToMax
216225
}
217-
218-
cappedToMax, _ := maybeCapToMax(recommendation[resourceName], resourceName, maxAllowed)
219-
recommendation[resourceName] = cappedToMax
220226
}
221227
}
222228

0 commit comments

Comments
 (0)