mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-30 06:54:01 +00:00
Added unit test for sidecar containers in TestValidatePodResize
This commit is contained in:
parent
a0d3cb0a2c
commit
1eb966cb45
@ -25601,6 +25601,24 @@ func TestValidatePodResize(t *testing.T) {
|
||||
),
|
||||
)...)
|
||||
}
|
||||
mkPodWithInitCtrs := func(req, lim core.ResourceList, tweaks ...podtest.TweakContainer) *core.Pod {
|
||||
tweaks = append(tweaks, podtest.SetContainerRestartPolicy(containerRestartPolicyAlways))
|
||||
return podtest.MakePod("pod",
|
||||
podtest.SetInitContainers(
|
||||
podtest.MakeContainer(
|
||||
"restartable-init",
|
||||
append(tweaks,
|
||||
podtest.SetContainerResources(
|
||||
core.ResourceRequirements{
|
||||
Requests: req,
|
||||
Limits: lim,
|
||||
},
|
||||
),
|
||||
)...,
|
||||
),
|
||||
),
|
||||
)
|
||||
}
|
||||
|
||||
mkPodWithInitContainers := func(req, lim core.ResourceList, restartPolicy core.ContainerRestartPolicy, tweaks ...podtest.Tweak) *core.Pod {
|
||||
return podtest.MakePod("pod", append(tweaks,
|
||||
@ -25620,10 +25638,11 @@ func TestValidatePodResize(t *testing.T) {
|
||||
}
|
||||
|
||||
tests := []struct {
|
||||
test string
|
||||
old *core.Pod
|
||||
new *core.Pod
|
||||
err string
|
||||
test string
|
||||
old *core.Pod
|
||||
new *core.Pod
|
||||
isSideCarCtr bool
|
||||
err string
|
||||
}{
|
||||
{
|
||||
test: "pod-level resources with container cpu limit change",
|
||||
@ -25981,9 +26000,47 @@ func TestValidatePodResize(t *testing.T) {
|
||||
new: mkPod(core.ResourceList{}, getResources("200m", "0", "1Gi", "")),
|
||||
err: "",
|
||||
},
|
||||
{
|
||||
test: "cpu limit change for sidecar containers",
|
||||
old: mkPodWithInitCtrs(core.ResourceList{}, getResources("100m", "0", "1Gi", "")),
|
||||
new: mkPodWithInitCtrs(core.ResourceList{}, getResources("200m", "0", "1Gi", "")),
|
||||
isSideCarCtr: true,
|
||||
err: "",
|
||||
}, {
|
||||
test: "memory limit change for sidecar containers",
|
||||
old: mkPodWithInitCtrs(core.ResourceList{}, getResources("100m", "200Mi", "", "")),
|
||||
new: mkPodWithInitCtrs(core.ResourceList{}, getResources("100m", "100Mi", "", "")),
|
||||
isSideCarCtr: true,
|
||||
err: "",
|
||||
}, {
|
||||
test: "storage limit change for sidecar containers",
|
||||
old: mkPodWithInitCtrs(core.ResourceList{}, getResources("100m", "100Mi", "2Gi", "")),
|
||||
new: mkPodWithInitCtrs(core.ResourceList{}, getResources("100m", "100Mi", "1Gi", "")),
|
||||
isSideCarCtr: true,
|
||||
err: "spec: Forbidden: cpu and memory resources for only sidecar containers are mutable",
|
||||
}, {
|
||||
test: "cpu request change for sidecar containers",
|
||||
old: mkPodWithInitCtrs(getResources("200m", "0", "", ""), core.ResourceList{}),
|
||||
new: mkPodWithInitCtrs(getResources("100m", "0", "", ""), core.ResourceList{}),
|
||||
isSideCarCtr: true,
|
||||
err: "",
|
||||
}, {
|
||||
test: "memory request change for sidecar containers",
|
||||
old: mkPodWithInitCtrs(getResources("0", "100Mi", "", ""), core.ResourceList{}),
|
||||
new: mkPodWithInitCtrs(getResources("0", "200Mi", "", ""), core.ResourceList{}),
|
||||
isSideCarCtr: true,
|
||||
err: "",
|
||||
}, {
|
||||
test: "storage request change for sidecar containers",
|
||||
old: mkPodWithInitCtrs(getResources("100m", "0", "1Gi", ""), core.ResourceList{}),
|
||||
new: mkPodWithInitCtrs(getResources("100m", "0", "2Gi", ""), core.ResourceList{}),
|
||||
isSideCarCtr: true,
|
||||
err: "spec: Forbidden: cpu and memory resources for only sidecar containers are mutable",
|
||||
},
|
||||
}
|
||||
|
||||
for _, test := range tests {
|
||||
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.SidecarContainers, test.isSideCarCtr)
|
||||
test.new.ObjectMeta.ResourceVersion = "1"
|
||||
test.old.ObjectMeta.ResourceVersion = "1"
|
||||
|
||||
@ -25996,6 +26053,12 @@ func TestValidatePodResize(t *testing.T) {
|
||||
test.new.Namespace = "namespace"
|
||||
test.old.Namespace = "namespace"
|
||||
}
|
||||
if test.isSideCarCtr {
|
||||
if test.new.Spec.InitContainers == nil && test.old.Spec.InitContainers == nil {
|
||||
test.new.Spec.InitContainers = []core.Container{{Name: "autoadded", Image: "image", TerminationMessagePolicy: "File", ImagePullPolicy: "Always"}}
|
||||
test.old.Spec.InitContainers = []core.Container{{Name: "autoadded", Image: "image", TerminationMessagePolicy: "File", ImagePullPolicy: "Always"}}
|
||||
}
|
||||
}
|
||||
if test.new.Spec.Containers == nil && test.old.Spec.Containers == nil {
|
||||
test.new.Spec.Containers = []core.Container{{Name: "autoadded", Image: "image", TerminationMessagePolicy: "File", ImagePullPolicy: "Always"}}
|
||||
test.old.Spec.Containers = []core.Container{{Name: "autoadded", Image: "image", TerminationMessagePolicy: "File", ImagePullPolicy: "Always"}}
|
||||
|
Loading…
Reference in New Issue
Block a user