mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-01 15:58:37 +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 {
|
mkPodWithInitContainers := func(req, lim core.ResourceList, restartPolicy core.ContainerRestartPolicy, tweaks ...podtest.Tweak) *core.Pod {
|
||||||
return podtest.MakePod("pod", append(tweaks,
|
return podtest.MakePod("pod", append(tweaks,
|
||||||
@ -25620,10 +25638,11 @@ func TestValidatePodResize(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
test string
|
test string
|
||||||
old *core.Pod
|
old *core.Pod
|
||||||
new *core.Pod
|
new *core.Pod
|
||||||
err string
|
isSideCarCtr bool
|
||||||
|
err string
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
test: "pod-level resources with container cpu limit change",
|
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", "")),
|
new: mkPod(core.ResourceList{}, getResources("200m", "0", "1Gi", "")),
|
||||||
err: "",
|
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 {
|
for _, test := range tests {
|
||||||
|
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.SidecarContainers, test.isSideCarCtr)
|
||||||
test.new.ObjectMeta.ResourceVersion = "1"
|
test.new.ObjectMeta.ResourceVersion = "1"
|
||||||
test.old.ObjectMeta.ResourceVersion = "1"
|
test.old.ObjectMeta.ResourceVersion = "1"
|
||||||
|
|
||||||
@ -25996,6 +26053,12 @@ func TestValidatePodResize(t *testing.T) {
|
|||||||
test.new.Namespace = "namespace"
|
test.new.Namespace = "namespace"
|
||||||
test.old.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 {
|
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.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"}}
|
test.old.Spec.Containers = []core.Container{{Name: "autoadded", Image: "image", TerminationMessagePolicy: "File", ImagePullPolicy: "Always"}}
|
||||||
|
Loading…
Reference in New Issue
Block a user