Merge pull request #7959 from Jenkins-J/fix-mem-limit-test

Fix Memory Limit test
This commit is contained in:
Kazuyoshi Kato 2023-01-26 10:33:35 -08:00 committed by GitHub
commit 753bfd6575
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -30,6 +30,7 @@ import (
cgroupsv2 "github.com/containerd/cgroups/v3/cgroup2" cgroupsv2 "github.com/containerd/cgroups/v3/cgroup2"
"github.com/containerd/containerd" "github.com/containerd/containerd"
"github.com/containerd/containerd/integration/images" "github.com/containerd/containerd/integration/images"
criopts "github.com/containerd/containerd/pkg/cri/opts"
runtimespec "github.com/opencontainers/runtime-spec/specs-go" runtimespec "github.com/opencontainers/runtime-spec/specs-go"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
@ -232,7 +233,10 @@ func TestUpdateContainerResources_MemoryLimit(t *testing.T) {
EnsureImageExists(t, pauseImage) EnsureImageExists(t, pauseImage)
expectedSwapLimit := func(memoryLimit int64) *int64 { expectedSwapLimit := func(memoryLimit int64) *int64 {
return &memoryLimit if criopts.SwapControllerAvailable() {
return &memoryLimit
}
return nil
} }
t.Log("Create a container with memory limit") t.Log("Create a container with memory limit")
@ -274,8 +278,10 @@ func TestUpdateContainerResources_MemoryLimit(t *testing.T) {
t.Log("Check memory limit in cgroup") t.Log("Check memory limit in cgroup")
memLimit := getCgroupMemoryLimitForTask(t, task) memLimit := getCgroupMemoryLimitForTask(t, task)
assert.Equal(t, uint64(400*1024*1024), memLimit) assert.Equal(t, uint64(400*1024*1024), memLimit)
swapLimit := getCgroupSwapLimitForTask(t, task) if criopts.SwapControllerAvailable() {
assert.Equal(t, uint64(400*1024*1024), swapLimit) swapLimit := getCgroupSwapLimitForTask(t, task)
assert.Equal(t, uint64(400*1024*1024), swapLimit)
}
t.Log("Update container memory limit after started") t.Log("Update container memory limit after started")
err = runtimeService.UpdateContainerResources(cn, &runtime.LinuxContainerResources{ err = runtimeService.UpdateContainerResources(cn, &runtime.LinuxContainerResources{
@ -292,8 +298,10 @@ func TestUpdateContainerResources_MemoryLimit(t *testing.T) {
t.Log("Check memory limit in cgroup") t.Log("Check memory limit in cgroup")
memLimit = getCgroupMemoryLimitForTask(t, task) memLimit = getCgroupMemoryLimitForTask(t, task)
assert.Equal(t, uint64(800*1024*1024), memLimit) assert.Equal(t, uint64(800*1024*1024), memLimit)
swapLimit = getCgroupSwapLimitForTask(t, task) if criopts.SwapControllerAvailable() {
assert.Equal(t, uint64(800*1024*1024), swapLimit) swapLimit := getCgroupSwapLimitForTask(t, task)
assert.Equal(t, uint64(800*1024*1024), swapLimit)
}
} }