Skip to content

Commit 1eb966c

Browse files
committed
Added unit test for sidecar containers in TestValidatePodResize
1 parent a0d3cb0 commit 1eb966c

File tree

1 file changed

+67
-4
lines changed

1 file changed

+67
-4
lines changed

pkg/apis/core/validation/validation_test.go

Lines changed: 67 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25601,6 +25601,24 @@ func TestValidatePodResize(t *testing.T) {
2560125601
),
2560225602
)...)
2560325603
}
25604+
mkPodWithInitCtrs := func(req, lim core.ResourceList, tweaks ...podtest.TweakContainer) *core.Pod {
25605+
tweaks = append(tweaks, podtest.SetContainerRestartPolicy(containerRestartPolicyAlways))
25606+
return podtest.MakePod("pod",
25607+
podtest.SetInitContainers(
25608+
podtest.MakeContainer(
25609+
"restartable-init",
25610+
append(tweaks,
25611+
podtest.SetContainerResources(
25612+
core.ResourceRequirements{
25613+
Requests: req,
25614+
Limits: lim,
25615+
},
25616+
),
25617+
)...,
25618+
),
25619+
),
25620+
)
25621+
}
2560425622

2560525623
mkPodWithInitContainers := func(req, lim core.ResourceList, restartPolicy core.ContainerRestartPolicy, tweaks ...podtest.Tweak) *core.Pod {
2560625624
return podtest.MakePod("pod", append(tweaks,
@@ -25620,10 +25638,11 @@ func TestValidatePodResize(t *testing.T) {
2562025638
}
2562125639

2562225640
tests := []struct {
25623-
test string
25624-
old *core.Pod
25625-
new *core.Pod
25626-
err string
25641+
test string
25642+
old *core.Pod
25643+
new *core.Pod
25644+
isSideCarCtr bool
25645+
err string
2562725646
}{
2562825647
{
2562925648
test: "pod-level resources with container cpu limit change",
@@ -25981,9 +26000,47 @@ func TestValidatePodResize(t *testing.T) {
2598126000
new: mkPod(core.ResourceList{}, getResources("200m", "0", "1Gi", "")),
2598226001
err: "",
2598326002
},
26003+
{
26004+
test: "cpu limit change for sidecar containers",
26005+
old: mkPodWithInitCtrs(core.ResourceList{}, getResources("100m", "0", "1Gi", "")),
26006+
new: mkPodWithInitCtrs(core.ResourceList{}, getResources("200m", "0", "1Gi", "")),
26007+
isSideCarCtr: true,
26008+
err: "",
26009+
}, {
26010+
test: "memory limit change for sidecar containers",
26011+
old: mkPodWithInitCtrs(core.ResourceList{}, getResources("100m", "200Mi", "", "")),
26012+
new: mkPodWithInitCtrs(core.ResourceList{}, getResources("100m", "100Mi", "", "")),
26013+
isSideCarCtr: true,
26014+
err: "",
26015+
}, {
26016+
test: "storage limit change for sidecar containers",
26017+
old: mkPodWithInitCtrs(core.ResourceList{}, getResources("100m", "100Mi", "2Gi", "")),
26018+
new: mkPodWithInitCtrs(core.ResourceList{}, getResources("100m", "100Mi", "1Gi", "")),
26019+
isSideCarCtr: true,
26020+
err: "spec: Forbidden: cpu and memory resources for only sidecar containers are mutable",
26021+
}, {
26022+
test: "cpu request change for sidecar containers",
26023+
old: mkPodWithInitCtrs(getResources("200m", "0", "", ""), core.ResourceList{}),
26024+
new: mkPodWithInitCtrs(getResources("100m", "0", "", ""), core.ResourceList{}),
26025+
isSideCarCtr: true,
26026+
err: "",
26027+
}, {
26028+
test: "memory request change for sidecar containers",
26029+
old: mkPodWithInitCtrs(getResources("0", "100Mi", "", ""), core.ResourceList{}),
26030+
new: mkPodWithInitCtrs(getResources("0", "200Mi", "", ""), core.ResourceList{}),
26031+
isSideCarCtr: true,
26032+
err: "",
26033+
}, {
26034+
test: "storage request change for sidecar containers",
26035+
old: mkPodWithInitCtrs(getResources("100m", "0", "1Gi", ""), core.ResourceList{}),
26036+
new: mkPodWithInitCtrs(getResources("100m", "0", "2Gi", ""), core.ResourceList{}),
26037+
isSideCarCtr: true,
26038+
err: "spec: Forbidden: cpu and memory resources for only sidecar containers are mutable",
26039+
},
2598426040
}
2598526041

2598626042
for _, test := range tests {
26043+
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.SidecarContainers, test.isSideCarCtr)
2598726044
test.new.ObjectMeta.ResourceVersion = "1"
2598826045
test.old.ObjectMeta.ResourceVersion = "1"
2598926046

@@ -25996,6 +26053,12 @@ func TestValidatePodResize(t *testing.T) {
2599626053
test.new.Namespace = "namespace"
2599726054
test.old.Namespace = "namespace"
2599826055
}
26056+
if test.isSideCarCtr {
26057+
if test.new.Spec.InitContainers == nil && test.old.Spec.InitContainers == nil {
26058+
test.new.Spec.InitContainers = []core.Container{{Name: "autoadded", Image: "image", TerminationMessagePolicy: "File", ImagePullPolicy: "Always"}}
26059+
test.old.Spec.InitContainers = []core.Container{{Name: "autoadded", Image: "image", TerminationMessagePolicy: "File", ImagePullPolicy: "Always"}}
26060+
}
26061+
}
2599926062
if test.new.Spec.Containers == nil && test.old.Spec.Containers == nil {
2600026063
test.new.Spec.Containers = []core.Container{{Name: "autoadded", Image: "image", TerminationMessagePolicy: "File", ImagePullPolicy: "Always"}}
2600126064
test.old.Spec.Containers = []core.Container{{Name: "autoadded", Image: "image", TerminationMessagePolicy: "File", ImagePullPolicy: "Always"}}

0 commit comments

Comments
 (0)