Skip to content

Commit 0c62b12

Browse files
authored
Merge pull request #116857 from vinaykul/restart-free-pod-vertical-scaling-fixes
Call function that validates resize policy for in-place pod resize feature
2 parents 0f373ab + 0e9dd5c commit 0c62b12

File tree

2 files changed

+61
-0
lines changed

2 files changed

+61
-0
lines changed

pkg/apis/core/validation/validation.go

+1
Original file line numberDiff line numberDiff line change
@@ -3242,6 +3242,7 @@ func validateContainerCommon(ctr *core.Container, volumes map[string]core.Volume
32423242
allErrs = append(allErrs, ValidateVolumeDevices(ctr.VolumeDevices, volMounts, volumes, path.Child("volumeDevices"))...)
32433243
allErrs = append(allErrs, validatePullPolicy(ctr.ImagePullPolicy, path.Child("imagePullPolicy"))...)
32443244
allErrs = append(allErrs, ValidateResourceRequirements(&ctr.Resources, podClaimNames, path.Child("resources"), opts)...)
3245+
allErrs = append(allErrs, validateResizePolicy(ctr.ResizePolicy, path.Child("resizePolicy"))...)
32453246
allErrs = append(allErrs, ValidateSecurityContext(ctr.SecurityContext, path.Child("securityContext"))...)
32463247
return allErrs
32473248
}

pkg/apis/core/validation/validation_test.go

+60
Original file line numberDiff line numberDiff line change
@@ -7774,6 +7774,34 @@ func TestValidateContainers(t *testing.T) {
77747774
ImagePullPolicy: "IfNotPresent",
77757775
TerminationMessagePolicy: "File",
77767776
},
7777+
{
7778+
Name: "resize-policy-cpu",
7779+
Image: "image",
7780+
ImagePullPolicy: "IfNotPresent",
7781+
TerminationMessagePolicy: "File",
7782+
ResizePolicy: []core.ContainerResizePolicy{
7783+
{ResourceName: "cpu", RestartPolicy: "NotRequired"},
7784+
},
7785+
},
7786+
{
7787+
Name: "resize-policy-mem",
7788+
Image: "image",
7789+
ImagePullPolicy: "IfNotPresent",
7790+
TerminationMessagePolicy: "File",
7791+
ResizePolicy: []core.ContainerResizePolicy{
7792+
{ResourceName: "memory", RestartPolicy: "RestartContainer"},
7793+
},
7794+
},
7795+
{
7796+
Name: "resize-policy-cpu-and-mem",
7797+
Image: "image",
7798+
ImagePullPolicy: "IfNotPresent",
7799+
TerminationMessagePolicy: "File",
7800+
ResizePolicy: []core.ContainerResizePolicy{
7801+
{ResourceName: "memory", RestartPolicy: "NotRequired"},
7802+
{ResourceName: "cpu", RestartPolicy: "RestartContainer"},
7803+
},
7804+
},
77777805
}
77787806
if errs := validateContainers(successCase, volumeDevices, nil, field.NewPath("field"), PodValidationOptions{}); len(errs) != 0 {
77797807
t.Errorf("expected success: %v", errs)
@@ -8396,6 +8424,38 @@ func TestValidateContainers(t *testing.T) {
83968424
},
83978425
field.ErrorList{{Type: field.ErrorTypeInvalid, Field: "containers[0].envFrom[0].configMapRef.name"}},
83988426
},
8427+
{
8428+
"Unsupported resize policy for memory",
8429+
line(),
8430+
[]core.Container{
8431+
{
8432+
Name: "resize-policy-mem-invalid",
8433+
Image: "image",
8434+
ImagePullPolicy: "IfNotPresent",
8435+
TerminationMessagePolicy: "File",
8436+
ResizePolicy: []core.ContainerResizePolicy{
8437+
{ResourceName: "memory", RestartPolicy: "RestartContainerrrr"},
8438+
},
8439+
},
8440+
},
8441+
field.ErrorList{{Type: field.ErrorTypeNotSupported, Field: "containers[0].resizePolicy"}},
8442+
},
8443+
{
8444+
"Unsupported resize policy for CPU",
8445+
line(),
8446+
[]core.Container{
8447+
{
8448+
Name: "resize-policy-cpu-invalid",
8449+
Image: "image",
8450+
ImagePullPolicy: "IfNotPresent",
8451+
TerminationMessagePolicy: "File",
8452+
ResizePolicy: []core.ContainerResizePolicy{
8453+
{ResourceName: "cpu", RestartPolicy: "RestartNotRequired"},
8454+
},
8455+
},
8456+
},
8457+
field.ErrorList{{Type: field.ErrorTypeNotSupported, Field: "containers[0].resizePolicy"}},
8458+
},
83998459
}
84008460
for _, tc := range errorCases {
84018461
t.Run(tc.title+"__@L"+tc.line, func(t *testing.T) {

0 commit comments

Comments
 (0)