tests: enable memory tests for cgroups v2
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
This commit is contained in:
parent
04d333f0ef
commit
7e38a73c4b
|
|
@ -5,6 +5,7 @@ package integration
|
|||
import (
|
||||
"os"
|
||||
|
||||
"github.com/containers/libpod/pkg/cgroups"
|
||||
. "github.com/containers/libpod/test/utils"
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
|
|
@ -36,7 +37,16 @@ var _ = Describe("Podman run memory", func() {
|
|||
})
|
||||
|
||||
It("podman run memory test", func() {
|
||||
session := podmanTest.Podman([]string{"run", "--memory=40m", ALPINE, "cat", "/sys/fs/cgroup/memory/memory.limit_in_bytes"})
|
||||
cgroupsv2, err := cgroups.IsCgroup2UnifiedMode()
|
||||
Expect(err).To(BeNil())
|
||||
|
||||
var session *PodmanSessionIntegration
|
||||
|
||||
if cgroupsv2 {
|
||||
session = podmanTest.Podman([]string{"run", "--memory=40m", ALPINE, "sh", "-c", "cat /sys/fs/cgroup/$(sed -e 's|0::||' < /proc/self/cgroup)/memory.max"})
|
||||
} else {
|
||||
session = podmanTest.Podman([]string{"run", "--memory=40m", ALPINE, "cat", "/sys/fs/cgroup/memory/memory.limit_in_bytes"})
|
||||
}
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
Expect(session.OutputToString()).To(Equal("41943040"))
|
||||
|
|
@ -46,13 +56,31 @@ var _ = Describe("Podman run memory", func() {
|
|||
if podmanTest.Host.Distribution == "ubuntu" {
|
||||
Skip("Unable to perform test on Ubuntu distributions due to memory management")
|
||||
}
|
||||
session := podmanTest.Podman([]string{"run", "--memory-reservation=40m", ALPINE, "cat", "/sys/fs/cgroup/memory/memory.soft_limit_in_bytes"})
|
||||
|
||||
cgroupsv2, err := cgroups.IsCgroup2UnifiedMode()
|
||||
Expect(err).To(BeNil())
|
||||
|
||||
var session *PodmanSessionIntegration
|
||||
|
||||
if cgroupsv2 {
|
||||
session = podmanTest.Podman([]string{"run", "--memory-reservation=40m", ALPINE, "sh", "-c", "cat /sys/fs/cgroup/$(sed -e 's|0::||' < /proc/self/cgroup)/memory.high"})
|
||||
} else {
|
||||
session = podmanTest.Podman([]string{"run", "--memory-reservation=40m", ALPINE, "cat", "/sys/fs/cgroup/memory/memory.soft_limit_in_bytes"})
|
||||
}
|
||||
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
Expect(session.OutputToString()).To(Equal("41943040"))
|
||||
})
|
||||
|
||||
It("podman run memory-swappiness test", func() {
|
||||
cgroupsv2, err := cgroups.IsCgroup2UnifiedMode()
|
||||
Expect(err).To(BeNil())
|
||||
|
||||
if cgroupsv2 {
|
||||
Skip("Memory swappiness not supported on cgroups v2")
|
||||
}
|
||||
|
||||
session := podmanTest.Podman([]string{"run", "--memory-swappiness=15", ALPINE, "cat", "/sys/fs/cgroup/memory/memory.swappiness"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
|
|
@ -60,6 +88,12 @@ var _ = Describe("Podman run memory", func() {
|
|||
})
|
||||
|
||||
It("podman run kernel-memory test", func() {
|
||||
cgroupsv2, err := cgroups.IsCgroup2UnifiedMode()
|
||||
Expect(err).To(BeNil())
|
||||
|
||||
if cgroupsv2 {
|
||||
Skip("Kernel memory not supported on cgroups v2")
|
||||
}
|
||||
session := podmanTest.Podman([]string{"run", "--kernel-memory=40m", ALPINE, "cat", "/sys/fs/cgroup/memory/memory.kmem.limit_in_bytes"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
|
|
|
|||
Loading…
Reference in New Issue