From 1b15876e266967cc7ffd4a08c895d591fe68de87 Mon Sep 17 00:00:00 2001 From: Anish Shah Date: Fri, 8 Nov 2024 20:36:12 -0800 Subject: [PATCH] test: reduce container resources in in-place pod resize tests reducing the container resources used in in-place pod resize tests will help us run tests in parallel. --- test/e2e/common/node/pod_resize.go | 478 ++++++++++++++++------------- 1 file changed, 259 insertions(+), 219 deletions(-) diff --git a/test/e2e/common/node/pod_resize.go b/test/e2e/common/node/pod_resize.go index 7d773badf1e..f885eccf4d4 100644 --- a/test/e2e/common/node/pod_resize.go +++ b/test/e2e/common/node/pod_resize.go @@ -38,9 +38,37 @@ import ( const ( fakeExtendedResource = "dummy.com/dummy" + + originalCPU = "20m" + originalCPULimit = "30m" + reducedCPU = "15m" + reducedCPULimit = "25m" + increasedCPU = "25m" + increasedCPULimit = "35m" + + originalMem = "20Mi" + originalMemLimit = "30Mi" + reducedMem = "15Mi" + reducedMemLimit = "25Mi" + increasedMem = "25Mi" + increasedMemLimit = "35Mi" ) -func doPodResizeTests(f *framework.Framework) { +func offsetCPU(index int, value string) string { + val := resource.MustParse(value) + ptr := &val + ptr.Add(resource.MustParse(fmt.Sprintf("%dm", 2*index))) + return ptr.String() +} + +func offsetMemory(index int64, value string) string { + val := resource.MustParse(value) + ptr := &val + ptr.Add(resource.MustParse(fmt.Sprintf("%dMi", 2*index))) + return ptr.String() +} + +func doPodResizeTests() { type testCase struct { name string containers []e2epod.ResizableContainerInfo @@ -60,18 +88,18 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "100m", MemReq: "200Mi", MemLim: "200Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPU, MemReq: originalMem, MemLim: originalMem}, CPUPolicy: &noRestart, MemPolicy: &noRestart, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"requests":{"cpu":"200m","memory":"400Mi"},"limits":{"cpu":"200m","memory":"400Mi"}}} - ]}}`, + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c1", "resources":{"requests":{"cpu":"%s","memory":"%s"},"limits":{"cpu":"%s","memory":"%s"}}} + ]}}`, increasedCPU, increasedMem, increasedCPU, increasedMem), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "200m", MemReq: "400Mi", MemLim: "400Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: increasedCPU, CPULim: increasedCPU, MemReq: increasedMem, MemLim: increasedMem}, CPUPolicy: &noRestart, MemPolicy: &noRestart, }, @@ -82,18 +110,18 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "300m", CPULim: "300m", MemReq: "500Mi", MemLim: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPU, MemReq: originalMem, MemLim: originalMem}, CPUPolicy: &noRestart, MemPolicy: &noRestart, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"requests":{"cpu":"100m","memory":"250Mi"},"limits":{"cpu":"100m","memory":"250Mi"}}} - ]}}`, + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c1", "resources":{"requests":{"cpu":"%s","memory":"%s"},"limits":{"cpu":"%s","memory":"%s"}}} + ]}}`, reducedCPU, reducedMem, reducedCPU, reducedMem), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "100m", MemReq: "250Mi", MemLim: "250Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: reducedCPU, CPULim: reducedCPU, MemReq: reducedMem, MemLim: reducedMem}, CPUPolicy: &noRestart, MemPolicy: &noRestart, }, @@ -104,16 +132,16 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "100m", MemReq: "200Mi", MemLim: "200Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPU, MemReq: originalMem, MemLim: originalMem}, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"requests":{"cpu":"200m","memory":"100Mi"},"limits":{"cpu":"200m","memory":"100Mi"}}} - ]}}`, + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c1", "resources":{"requests":{"cpu":"%s","memory":"%s"},"limits":{"cpu":"%s","memory":"%s"}}} + ]}}`, increasedCPU, reducedMem, increasedCPU, reducedMem), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "200m", MemReq: "100Mi", MemLim: "100Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: increasedCPU, CPULim: increasedCPU, MemReq: reducedMem, MemLim: reducedMem}, }, }, }, @@ -122,16 +150,16 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "100m", MemReq: "200Mi", MemLim: "200Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPU, MemReq: originalMem, MemLim: originalMem}, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"requests":{"cpu":"50m","memory":"300Mi"},"limits":{"cpu":"50m","memory":"300Mi"}}} - ]}}`, + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c1", "resources":{"requests":{"cpu":"%s","memory":"%s"},"limits":{"cpu":"%s","memory":"%s"}}} + ]}}`, reducedCPU, increasedMem, reducedCPU, increasedMem), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "50m", CPULim: "50m", MemReq: "300Mi", MemLim: "300Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: reducedCPU, CPULim: reducedCPU, MemReq: increasedMem, MemLim: increasedMem}, }, }, }, @@ -141,44 +169,47 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "100m", MemReq: "100Mi", MemLim: "100Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPU, MemReq: originalMem, MemLim: originalMem}, CPUPolicy: &noRestart, MemPolicy: &noRestart, }, { Name: "c2", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "200m", MemReq: "200Mi", MemLim: "200Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: offsetCPU(1, originalCPU), CPULim: offsetCPU(1, originalCPU), MemReq: offsetMemory(1, originalMem), MemLim: offsetMemory(1, originalMem)}, CPUPolicy: &noRestart, MemPolicy: &noRestart, }, { Name: "c3", - Resources: &e2epod.ContainerResources{CPUReq: "300m", CPULim: "300m", MemReq: "300Mi", MemLim: "300Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: offsetCPU(2, originalCPU), CPULim: offsetCPU(2, originalCPU), MemReq: offsetMemory(2, originalMem), MemLim: offsetMemory(2, originalMem)}, CPUPolicy: &noRestart, MemPolicy: &noRestart, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"requests":{"cpu":"140m","memory":"50Mi"},"limits":{"cpu":"140m","memory":"50Mi"}}}, - {"name":"c2", "resources":{"requests":{"cpu":"150m","memory":"240Mi"},"limits":{"cpu":"150m","memory":"240Mi"}}}, - {"name":"c3", "resources":{"requests":{"cpu":"340m","memory":"250Mi"},"limits":{"cpu":"340m","memory":"250Mi"}}} + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c1", "resources":{"requests":{"cpu":"%s","memory":"%s"},"limits":{"cpu":"%s","memory":"%s"}}}, + {"name":"c2", "resources":{"requests":{"cpu":"%s","memory":"%s"},"limits":{"cpu":"%s","memory":"%s"}}}, + {"name":"c3", "resources":{"requests":{"cpu":"%s","memory":"%s"},"limits":{"cpu":"%s","memory":"%s"}}} ]}}`, + increasedCPU, reducedMem, increasedCPU, reducedMem, + offsetCPU(1, reducedCPU), offsetMemory(1, increasedMem), offsetCPU(1, reducedCPU), offsetMemory(1, increasedMem), + offsetCPU(2, increasedCPU), offsetMemory(2, reducedMem), offsetCPU(2, increasedCPU), offsetMemory(2, reducedMem)), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "140m", CPULim: "140m", MemReq: "50Mi", MemLim: "50Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: increasedCPU, CPULim: increasedCPU, MemReq: reducedMem, MemLim: reducedMem}, CPUPolicy: &noRestart, MemPolicy: &noRestart, }, { Name: "c2", - Resources: &e2epod.ContainerResources{CPUReq: "150m", CPULim: "150m", MemReq: "240Mi", MemLim: "240Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: offsetCPU(1, reducedCPU), CPULim: offsetCPU(1, reducedCPU), MemReq: offsetMemory(1, increasedMem), MemLim: offsetMemory(1, increasedMem)}, CPUPolicy: &noRestart, MemPolicy: &noRestart, }, { Name: "c3", - Resources: &e2epod.ContainerResources{CPUReq: "340m", CPULim: "340m", MemReq: "250Mi", MemLim: "250Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: offsetCPU(2, increasedCPU), CPULim: offsetCPU(2, increasedCPU), MemReq: offsetMemory(2, reducedMem), MemLim: offsetMemory(2, reducedMem)}, CPUPolicy: &noRestart, MemPolicy: &noRestart, }, @@ -190,16 +221,16 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "400m", MemReq: "250Mi", MemLim: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"requests":{"memory":"200Mi"}}} - ]}}`, + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c1", "resources":{"requests":{"memory":"%s"}}} + ]}}`, reducedMem), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "400m", MemReq: "200Mi", MemLim: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: reducedMem, MemLim: originalMemLimit}, }, }, }, @@ -209,16 +240,16 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "400m", MemReq: "250Mi", MemLim: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"limits":{"memory":"400Mi"}}} - ]}}`, + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c1", "resources":{"limits":{"memory":"%s"}}} + ]}}`, reducedMemLimit), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "400m", MemReq: "250Mi", MemLim: "400Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: reducedMemLimit}, }, }, }, @@ -227,16 +258,16 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "400m", MemReq: "250Mi", MemLim: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"requests":{"memory":"300Mi"}}} - ]}}`, + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c1", "resources":{"requests":{"memory":"%s"}}} + ]}}`, increasedMem), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "400m", MemReq: "300Mi", MemLim: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: increasedMem, MemLim: originalMemLimit}, }, }, }, @@ -245,16 +276,16 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "400m", MemReq: "250Mi", MemLim: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"limits":{"memory":"600Mi"}}} - ]}}`, + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c1", "resources":{"limits":{"memory":"%s"}}} + ]}}`, increasedMemLimit), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "400m", MemReq: "250Mi", MemLim: "600Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: increasedMemLimit}, }, }, }, @@ -264,16 +295,16 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "400m", MemReq: "250Mi", MemLim: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"requests":{"cpu":"100m"}}} - ]}}`, + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c1", "resources":{"requests":{"cpu":"%s"}}} + ]}}`, reducedCPU), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "400m", MemReq: "250Mi", MemLim: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: reducedCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, }, }, }, @@ -283,16 +314,16 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "400m", MemReq: "250Mi", MemLim: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"limits":{"cpu":"300m"}}} - ]}}`, + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c1", "resources":{"limits":{"cpu":"%s"}}} + ]}}`, reducedCPULimit), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "300m", MemReq: "250Mi", MemLim: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: reducedCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, }, }, }, @@ -301,16 +332,16 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "200m", MemReq: "250Mi", MemLim: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"requests":{"cpu":"150m"}}} - ]}}`, + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c1", "resources":{"requests":{"cpu":"%s"}}} + ]}}`, increasedCPU), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "150m", CPULim: "200m", MemReq: "250Mi", MemLim: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: increasedCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, }, }, }, @@ -319,16 +350,16 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "400m", MemReq: "250Mi", MemLim: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"limits":{"cpu":"500m"}}} - ]}}`, + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c1", "resources":{"limits":{"cpu":"%s"}}} + ]}}`, increasedCPULimit), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "500m", MemReq: "250Mi", MemLim: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: increasedCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, }, }, }, @@ -337,16 +368,16 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "400m", MemReq: "250Mi", MemLim: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"requests":{"cpu":"100m"},"limits":{"cpu":"200m"}}} - ]}}`, + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c1", "resources":{"requests":{"cpu":"%s"},"limits":{"cpu":"%s"}}} + ]}}`, reducedCPU, reducedCPULimit), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "200m", MemReq: "250Mi", MemLim: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: reducedCPU, CPULim: reducedCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, }, }, }, @@ -355,16 +386,16 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "200m", MemReq: "250Mi", MemLim: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"requests":{"cpu":"200m"},"limits":{"cpu":"400m"}}} - ]}}`, + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c1", "resources":{"requests":{"cpu":"%s"},"limits":{"cpu":"%s"}}} + ]}}`, increasedCPU, increasedCPULimit), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "400m", MemReq: "250Mi", MemLim: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: increasedCPU, CPULim: increasedCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, }, }, }, @@ -373,16 +404,16 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "400m", MemReq: "250Mi", MemLim: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"requests":{"cpu":"100m"},"limits":{"cpu":"500m"}}} - ]}}`, + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c1", "resources":{"requests":{"cpu":"%s"},"limits":{"cpu":"%s"}}} + ]}}`, reducedCPU, increasedCPULimit), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "500m", MemReq: "250Mi", MemLim: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: reducedCPU, CPULim: increasedCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, }, }, }, @@ -391,16 +422,16 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "400m", MemReq: "250Mi", MemLim: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"requests":{"cpu":"200m"},"limits":{"cpu":"300m"}}} - ]}}`, + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c1", "resources":{"requests":{"cpu":"%s"},"limits":{"cpu":"%s"}}} + ]}}`, increasedCPU, reducedCPULimit), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "300m", MemReq: "250Mi", MemLim: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: increasedCPU, CPULim: reducedCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, }, }, }, @@ -409,16 +440,16 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "200m", MemReq: "200Mi", MemLim: "400Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"requests":{"memory":"100Mi"},"limits":{"memory":"300Mi"}}} - ]}}`, + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c1", "resources":{"requests":{"memory":"%s"},"limits":{"memory":"%s"}}} + ]}}`, reducedMem, reducedMemLimit), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "200m", MemReq: "100Mi", MemLim: "300Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: reducedMem, MemLim: reducedMemLimit}, }, }, }, @@ -427,16 +458,16 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "200m", MemReq: "200Mi", MemLim: "400Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"requests":{"memory":"300Mi"},"limits":{"memory":"500Mi"}}} - ]}}`, + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c1", "resources":{"requests":{"memory":"%s"},"limits":{"memory":"%s"}}} + ]}}`, increasedMem, increasedMemLimit), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "200m", MemReq: "300Mi", MemLim: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: increasedMem, MemLim: increasedMemLimit}, }, }, }, @@ -445,16 +476,16 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "200m", MemReq: "200Mi", MemLim: "400Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"requests":{"memory":"100Mi"},"limits":{"memory":"500Mi"}}} - ]}}`, + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c1", "resources":{"requests":{"memory":"%s"},"limits":{"memory":"%s"}}} + ]}}`, reducedMem, increasedMemLimit), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "200m", MemReq: "100Mi", MemLim: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: reducedMem, MemLim: increasedMemLimit}, }, }, }, @@ -463,16 +494,16 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "200m", MemReq: "200Mi", MemLim: "400Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"requests":{"memory":"300Mi"},"limits":{"memory":"300Mi"}}} - ]}}`, + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c1", "resources":{"requests":{"memory":"%s"},"limits":{"memory":"%s"}}} + ]}}`, increasedMem, reducedMemLimit), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "200m", MemReq: "300Mi", MemLim: "300Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: increasedMem, MemLim: reducedMemLimit}, }, }, }, @@ -481,16 +512,16 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "400m", MemReq: "200Mi", MemLim: "400Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"requests":{"cpu":"100m"},"limits":{"memory":"500Mi"}}} - ]}}`, + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c1", "resources":{"requests":{"cpu":"%s"},"limits":{"memory":"%s"}}} + ]}}`, reducedCPU, increasedMemLimit), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "400m", MemReq: "200Mi", MemLim: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: reducedCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: increasedMemLimit}, }, }, }, @@ -499,16 +530,16 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "400m", MemReq: "200Mi", MemLim: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"requests":{"cpu":"200m"},"limits":{"memory":"400Mi"}}} - ]}}`, + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c1", "resources":{"requests":{"cpu":"%s"},"limits":{"memory":"%s"}}} + ]}}`, increasedCPU, reducedMemLimit), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "400m", MemReq: "200Mi", MemLim: "400Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: increasedCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: reducedMemLimit}, }, }, }, @@ -517,16 +548,16 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "200m", MemReq: "200Mi", MemLim: "400Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"requests":{"memory":"100Mi"},"limits":{"cpu":"300m"}}} - ]}}`, + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c1", "resources":{"requests":{"memory":"%s"},"limits":{"cpu":"%s"}}} + ]}}`, reducedMem, increasedCPULimit), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "300m", MemReq: "100Mi", MemLim: "400Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: increasedCPULimit, MemReq: reducedMem, MemLim: originalMemLimit}, }, }, }, @@ -535,16 +566,16 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "400m", MemReq: "200Mi", MemLim: "400Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"requests":{"memory":"300Mi"},"limits":{"cpu":"300m"}}} - ]}}`, + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c1", "resources":{"requests":{"memory":"%s"},"limits":{"cpu":"%s"}}} + ]}}`, increasedMem, reducedCPULimit), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "300m", MemReq: "300Mi", MemLim: "400Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: reducedCPULimit, MemReq: increasedMem, MemLim: originalMemLimit}, }, }, }, @@ -553,16 +584,16 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", MemReq: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, MemReq: originalMem}, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"requests":{"memory":"400Mi"}}} - ]}}`, + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c1", "resources":{"requests":{"memory":"%s"}}} + ]}}`, reducedMem), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", MemReq: "400Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, MemReq: reducedMem}, }, }, }, @@ -571,16 +602,16 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", MemReq: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, MemReq: originalMem}, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"requests":{"cpu":"300m"}}} - ]}}`, + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c1", "resources":{"requests":{"cpu":"%s"}}} + ]}}`, increasedCPU), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "300m", MemReq: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: increasedCPU, MemReq: originalMem}, }, }, }, @@ -608,18 +639,18 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "100m", MemReq: "200Mi", MemLim: "200Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPU, MemReq: originalMem, MemLim: originalMem}, CPUPolicy: &noRestart, MemPolicy: &doRestart, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"requests":{"cpu":"200m","memory":"400Mi"},"limits":{"cpu":"200m","memory":"400Mi"}}} - ]}}`, + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c1", "resources":{"requests":{"cpu":"%s","memory":"%s"},"limits":{"cpu":"%s","memory":"%s"}}} + ]}}`, increasedCPU, increasedMem, increasedCPU, increasedMem), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "200m", MemReq: "400Mi", MemLim: "400Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: increasedCPU, CPULim: increasedCPU, MemReq: increasedMem, MemLim: increasedMem}, CPUPolicy: &noRestart, MemPolicy: &doRestart, RestartCount: 1, @@ -632,18 +663,18 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "200m", MemReq: "200Mi", MemLim: "400Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, CPUPolicy: &doRestart, MemPolicy: &noRestart, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"requests":{"cpu":"50m","memory":"100Mi"},"limits":{"cpu":"100m","memory":"200Mi"}}} - ]}}`, + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c1", "resources":{"requests":{"cpu":"%s","memory":"%s"},"limits":{"cpu":"%s","memory":"%s"}}} + ]}}`, reducedCPU, reducedMem, reducedCPULimit, reducedMemLimit), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "50m", CPULim: "100m", MemReq: "100Mi", MemLim: "200Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: reducedCPU, CPULim: reducedCPULimit, MemReq: reducedMem, MemLim: reducedMemLimit}, CPUPolicy: &doRestart, MemPolicy: &noRestart, RestartCount: 1, @@ -655,43 +686,45 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "200m", MemReq: "100Mi", MemLim: "200Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, CPUPolicy: &noRestart, MemPolicy: &noRestart, }, { Name: "c2", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "300m", MemReq: "200Mi", MemLim: "300Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: offsetCPU(1, originalCPU), CPULim: offsetCPU(1, originalCPULimit), MemReq: offsetMemory(1, originalMem), MemLim: offsetMemory(1, originalMemLimit)}, CPUPolicy: &noRestart, MemPolicy: &doRestart, }, { Name: "c3", - Resources: &e2epod.ContainerResources{CPUReq: "300m", CPULim: "400m", MemReq: "300Mi", MemLim: "400Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: offsetCPU(2, originalCPU), CPULim: offsetCPU(2, originalCPULimit), MemReq: offsetMemory(2, originalMem), MemLim: offsetMemory(2, originalMemLimit)}, CPUPolicy: &noRestart, MemPolicy: &noRestart, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"requests":{"cpu":"150m","memory":"150Mi"},"limits":{"cpu":"250m","memory":"250Mi"}}}, - {"name":"c3", "resources":{"requests":{"cpu":"250m","memory":"250Mi"},"limits":{"cpu":"350m","memory":"350Mi"}}} + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c1", "resources":{"requests":{"cpu":"%s","memory":"%s"},"limits":{"cpu":"%s","memory":"%s"}}}, + {"name":"c3", "resources":{"requests":{"cpu":"%s","memory":"%s"},"limits":{"cpu":"%s","memory":"%s"}}} ]}}`, + increasedCPU, increasedMem, increasedCPULimit, increasedMemLimit, + offsetCPU(2, reducedCPU), offsetMemory(2, reducedMem), offsetCPU(2, reducedCPULimit), offsetMemory(2, reducedMemLimit)), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "150m", CPULim: "250m", MemReq: "150Mi", MemLim: "250Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: increasedCPU, CPULim: increasedCPULimit, MemReq: increasedMem, MemLim: increasedMemLimit}, CPUPolicy: &noRestart, MemPolicy: &noRestart, }, { Name: "c2", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "300m", MemReq: "200Mi", MemLim: "300Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: offsetCPU(1, originalCPU), CPULim: offsetCPU(1, originalCPULimit), MemReq: offsetMemory(1, originalMem), MemLim: offsetMemory(1, originalMemLimit)}, CPUPolicy: &noRestart, MemPolicy: &doRestart, }, { Name: "c3", - Resources: &e2epod.ContainerResources{CPUReq: "250m", CPULim: "350m", MemReq: "250Mi", MemLim: "350Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: offsetCPU(2, reducedCPU), CPULim: offsetCPU(2, reducedCPULimit), MemReq: offsetMemory(2, reducedMem), MemLim: offsetMemory(2, reducedMemLimit)}, CPUPolicy: &noRestart, MemPolicy: &noRestart, }, @@ -702,44 +735,46 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "200m", MemReq: "100Mi", MemLim: "200Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, CPUPolicy: &noRestart, MemPolicy: &noRestart, }, { Name: "c2", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "300m", MemReq: "200Mi", MemLim: "300Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: offsetCPU(1, originalCPU), CPULim: offsetCPU(1, originalCPULimit), MemReq: offsetMemory(1, originalMem), MemLim: offsetMemory(1, originalMemLimit)}, CPUPolicy: &noRestart, MemPolicy: &doRestart, }, { Name: "c3", - Resources: &e2epod.ContainerResources{CPUReq: "300m", CPULim: "400m", MemReq: "300Mi", MemLim: "400Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: offsetCPU(2, originalCPU), CPULim: offsetCPU(2, originalCPULimit), MemReq: offsetMemory(2, originalMem), MemLim: offsetMemory(2, originalMemLimit)}, CPUPolicy: &noRestart, MemPolicy: &noRestart, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"requests":{"cpu":"50m","memory":"50Mi"},"limits":{"cpu":"150m","memory":"150Mi"}}}, - {"name":"c2", "resources":{"requests":{"cpu":"350m","memory":"350Mi"},"limits":{"cpu":"450m","memory":"450Mi"}}} + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c1", "resources":{"requests":{"cpu":"%s","memory":"%s"},"limits":{"cpu":"%s","memory":"%s"}}}, + {"name":"c2", "resources":{"requests":{"cpu":"%s","memory":"%s"},"limits":{"cpu":"%s","memory":"%s"}}} ]}}`, + reducedCPU, reducedMem, reducedCPULimit, reducedMemLimit, + offsetCPU(2, increasedCPU), offsetMemory(2, increasedMem), offsetCPU(2, increasedCPULimit), offsetMemory(2, increasedMemLimit)), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "50m", CPULim: "150m", MemReq: "50Mi", MemLim: "150Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: reducedCPU, CPULim: reducedCPULimit, MemReq: reducedMem, MemLim: reducedMemLimit}, CPUPolicy: &noRestart, MemPolicy: &noRestart, }, { Name: "c2", - Resources: &e2epod.ContainerResources{CPUReq: "350m", CPULim: "450m", MemReq: "350Mi", MemLim: "450Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: offsetCPU(2, increasedCPU), CPULim: offsetCPU(2, increasedCPULimit), MemReq: offsetMemory(2, increasedMem), MemLim: offsetMemory(2, increasedMemLimit)}, CPUPolicy: &noRestart, MemPolicy: &doRestart, RestartCount: 1, }, { Name: "c3", - Resources: &e2epod.ContainerResources{CPUReq: "300m", CPULim: "400m", MemReq: "300Mi", MemLim: "400Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: offsetCPU(2, originalCPU), CPULim: offsetCPU(2, originalCPULimit), MemReq: offsetMemory(2, originalMem), MemLim: offsetMemory(2, originalMemLimit)}, CPUPolicy: &noRestart, MemPolicy: &noRestart, }, @@ -750,45 +785,47 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "200m", MemReq: "100Mi", MemLim: "200Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, CPUPolicy: &doRestart, MemPolicy: &doRestart, }, { Name: "c2", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "300m", MemReq: "200Mi", MemLim: "300Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: offsetCPU(1, originalCPU), CPULim: offsetCPU(1, originalCPULimit), MemReq: offsetMemory(1, originalMem), MemLim: offsetMemory(1, originalMemLimit)}, CPUPolicy: &doRestart, MemPolicy: &noRestart, }, { Name: "c3", - Resources: &e2epod.ContainerResources{CPUReq: "300m", CPULim: "400m", MemReq: "300Mi", MemLim: "400Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: offsetCPU(2, originalCPU), CPULim: offsetCPU(2, originalCPULimit), MemReq: offsetMemory(2, originalMem), MemLim: offsetMemory(2, originalMemLimit)}, CPUPolicy: &noRestart, MemPolicy: &doRestart, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c2", "resources":{"requests":{"cpu":"250m","memory":"250Mi"},"limits":{"cpu":"350m","memory":"350Mi"}}}, - {"name":"c3", "resources":{"requests":{"cpu":"100m","memory":"100Mi"},"limits":{"cpu":"200m","memory":"200Mi"}}} + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c2", "resources":{"requests":{"cpu":"%s","memory":"%s"},"limits":{"cpu":"%s","memory":"%s"}}}, + {"name":"c3", "resources":{"requests":{"cpu":"%s","memory":"%s"},"limits":{"cpu":"%s","memory":"%s"}}} ]}}`, + offsetCPU(1, increasedCPU), offsetMemory(1, increasedMem), offsetCPU(1, increasedCPULimit), offsetMemory(1, increasedMemLimit), + reducedCPU, reducedMem, reducedCPULimit, reducedMemLimit), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "200m", MemReq: "100Mi", MemLim: "200Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, CPUPolicy: &doRestart, MemPolicy: &doRestart, }, { Name: "c2", - Resources: &e2epod.ContainerResources{CPUReq: "250m", CPULim: "350m", MemReq: "250Mi", MemLim: "350Mi"}, - CPUPolicy: &noRestart, + Resources: &e2epod.ContainerResources{CPUReq: offsetCPU(1, increasedCPU), CPULim: offsetCPU(1, increasedCPULimit), MemReq: offsetMemory(1, increasedMem), MemLim: offsetMemory(1, increasedMemLimit)}, + CPUPolicy: &doRestart, MemPolicy: &noRestart, RestartCount: 1, }, { Name: "c3", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "200m", MemReq: "100Mi", MemLim: "200Mi"}, - CPUPolicy: &doRestart, + Resources: &e2epod.ContainerResources{CPUReq: reducedCPU, CPULim: reducedCPULimit, MemReq: reducedMem, MemLim: reducedMemLimit}, + CPUPolicy: &noRestart, MemPolicy: &doRestart, RestartCount: 1, }, @@ -799,7 +836,7 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "100m", MemReq: "100Mi", MemLim: "100Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPU, MemReq: originalMem, MemLim: originalMem}, CPUPolicy: &noRestart, MemPolicy: &noRestart, }, @@ -808,13 +845,13 @@ func doPodResizeTests(f *framework.Framework) { Resources: &e2epod.ContainerResources{}, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"requests":{"cpu":"200m","memory":"200Mi"},"limits":{"cpu":"200m","memory":"200Mi"}}} - ]}}`, + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c1", "resources":{"requests":{"cpu":"%s","memory":"%s"},"limits":{"cpu":"%s","memory":"%s"}}} + ]}}`, increasedCPU, increasedMem, increasedCPU, increasedMem), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "200m", MemReq: "200Mi", MemLim: "200Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: increasedCPU, CPULim: increasedCPU, MemReq: increasedMem, MemLim: increasedMem}, CPUPolicy: &noRestart, MemPolicy: &noRestart, }, @@ -829,7 +866,7 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "100m", MemReq: "100Mi", MemLim: "100Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPU, MemReq: originalMem, MemLim: originalMem}, CPUPolicy: &noRestart, MemPolicy: &noRestart, }, @@ -838,19 +875,19 @@ func doPodResizeTests(f *framework.Framework) { Resources: &e2epod.ContainerResources{}, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c2", "resources":{"requests":{"cpu":"100m","memory":"100Mi"}}} - ]}}`, + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c2", "resources":{"requests":{"cpu":"%s","memory":"%s"}}} + ]}}`, originalCPU, originalMem), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "100m", MemReq: "100Mi", MemLim: "100Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPU, MemReq: originalMem, MemLim: originalMem}, CPUPolicy: &noRestart, MemPolicy: &noRestart, }, { Name: "c2", - Resources: &e2epod.ContainerResources{CPUReq: "100m", MemReq: "100Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, MemReq: originalMem}, CPUPolicy: &noRestart, MemPolicy: &noRestart, }, @@ -861,30 +898,30 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "100m", MemReq: "100Mi", MemLim: "100Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPU, MemReq: originalMem, MemLim: originalMem}, CPUPolicy: &noRestart, MemPolicy: &noRestart, }, { Name: "c2", - Resources: &e2epod.ContainerResources{CPUReq: "100m", MemReq: "100Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, MemReq: originalMem}, CPUPolicy: &noRestart, MemPolicy: &noRestart, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c2", "resources":{"limits":{"cpu":"200m","memory":"200Mi"}}} - ]}}`, + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c2", "resources":{"limits":{"cpu":"%s","memory":"%s"}}} + ]}}`, originalCPULimit, originalMemLimit), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "100m", MemReq: "100Mi", MemLim: "100Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPU, MemReq: originalMem, MemLim: originalMem}, CPUPolicy: &noRestart, MemPolicy: &noRestart, }, { Name: "c2", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "200m", MemReq: "100Mi", MemLim: "200Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, CPUPolicy: &noRestart, MemPolicy: &noRestart, }, @@ -895,19 +932,19 @@ func doPodResizeTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "100m", CPULim: "100m", MemReq: "200Mi", MemLim: "200Mi", + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPU, MemReq: originalMem, MemLim: originalMem, ExtendedResourceReq: "1", ExtendedResourceLim: "1"}, CPUPolicy: &noRestart, MemPolicy: &noRestart, }, }, - patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"requests":{"cpu":"200m","memory":"400Mi"},"limits":{"cpu":"200m","memory":"400Mi"}}} - ]}}`, + patchString: fmt.Sprintf(`{"spec":{"containers":[ + {"name":"c1", "resources":{"requests":{"cpu":"%s","memory":"%s"},"limits":{"cpu":"%s","memory":"%s"}}} + ]}}`, increasedCPU, increasedMem, increasedCPU, increasedMem), expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "200m", MemReq: "400Mi", MemLim: "400Mi", + Resources: &e2epod.ContainerResources{CPUReq: increasedCPU, CPULim: increasedCPU, MemReq: increasedMem, MemLim: increasedMem, ExtendedResourceReq: "1", ExtendedResourceLim: "1"}, CPUPolicy: &noRestart, MemPolicy: &noRestart, @@ -935,6 +972,8 @@ func doPodResizeTests(f *framework.Framework) { for idx := range tests { tc := tests[idx] + f := framework.NewDefaultFramework("pod-resize-tests") + ginkgo.It(tc.name, func(ctx context.Context) { podClient := e2epod.NewPodClient(f) var testPod, patchedPod *v1.Pod @@ -1007,12 +1046,12 @@ func doPodResizeTests(f *framework.Framework) { } ginkgo.By("deleting pod") - framework.ExpectNoError(podClient.Delete(ctx, newPod.Name, metav1.DeleteOptions{})) + podClient.DeleteSync(ctx, newPod.Name, metav1.DeleteOptions{}, f.Timeouts.PodDelete) }) } } -func doPodResizeErrorTests(f *framework.Framework) { +func doPodResizeErrorTests() { type testCase struct { name string @@ -1031,7 +1070,7 @@ func doPodResizeErrorTests(f *framework.Framework) { }, }, patchString: `{"spec":{"containers":[ - {"name":"c1", "resources":{"requests":{"memory":"400Mi"}}} + {"name":"c1", "resources":{"requests":{"memory":"40Mi"}}} ]}}`, patchError: "Pod QOS Class may not change as a result of resizing", expected: []e2epod.ResizableContainerInfo{ @@ -1045,7 +1084,7 @@ func doPodResizeErrorTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "400m", MemReq: "250Mi", MemLim: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, }, }, patchString: `{"spec":{"containers":[ @@ -1055,7 +1094,7 @@ func doPodResizeErrorTests(f *framework.Framework) { expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "400m", MemReq: "250Mi", MemLim: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, }, }, }, @@ -1064,7 +1103,7 @@ func doPodResizeErrorTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "400m", MemReq: "250Mi", MemLim: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, }, }, patchString: `{"spec":{"containers":[ @@ -1074,7 +1113,7 @@ func doPodResizeErrorTests(f *framework.Framework) { expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "400m", MemReq: "250Mi", MemLim: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem, MemLim: originalMemLimit}, }, }, }, @@ -1083,7 +1122,7 @@ func doPodResizeErrorTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", MemReq: "250Mi", MemLim: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, MemReq: originalMem, MemLim: originalMemLimit}, }, }, patchString: `{"spec":{"containers":[ @@ -1093,7 +1132,7 @@ func doPodResizeErrorTests(f *framework.Framework) { expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", MemReq: "250Mi", MemLim: "500Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, MemReq: originalMem, MemLim: originalMemLimit}, }, }, }, @@ -1102,7 +1141,7 @@ func doPodResizeErrorTests(f *framework.Framework) { containers: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "400m", MemReq: "250Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem}, }, }, patchString: `{"spec":{"containers":[ @@ -1112,16 +1151,17 @@ func doPodResizeErrorTests(f *framework.Framework) { expected: []e2epod.ResizableContainerInfo{ { Name: "c1", - Resources: &e2epod.ContainerResources{CPUReq: "200m", CPULim: "400m", MemReq: "250Mi"}, + Resources: &e2epod.ContainerResources{CPUReq: originalCPU, CPULim: originalCPULimit, MemReq: originalMem}, }, }, }, } - timeouts := f.Timeouts - for idx := range tests { tc := tests[idx] + f := framework.NewDefaultFramework("pod-resize-error-tests") + timeouts := f.Timeouts + ginkgo.It(tc.name, func(ctx context.Context) { podClient := e2epod.NewPodClient(f) var testPod, patchedPod *v1.Pod @@ -1174,7 +1214,7 @@ func doPodResizeErrorTests(f *framework.Framework) { // Above tests are performed by doSheduletTests() and doPodResizeResourceQuotaTests() // in test/e2e/node/pod_resize.go -var _ = SIGDescribe("Pod InPlace Resize Container", framework.WithSerial(), feature.InPlacePodVerticalScaling, "[NodeAlphaFeature:InPlacePodVerticalScaling]", func() { +var _ = SIGDescribe("Pod InPlace Resize Container", feature.InPlacePodVerticalScaling, "[NodeAlphaFeature:InPlacePodVerticalScaling]", func() { f := framework.NewDefaultFramework("pod-resize-tests") ginkgo.BeforeEach(func(ctx context.Context) { @@ -1185,6 +1225,6 @@ var _ = SIGDescribe("Pod InPlace Resize Container", framework.WithSerial(), feat } }) - doPodResizeTests(f) - doPodResizeErrorTests(f) + doPodResizeTests() + doPodResizeErrorTests() })