Merge pull request #8312 from cevich/new_ubuntu_images

Cirrus: Update VM Images; Both Fedora and Ubuntu "prior" flavors run with CGroupsV1 & runc
This commit is contained in:
OpenShift Merge Robot
2020-12-16 15:52:25 +00:00
committed by GitHub
16 changed files with 63 additions and 34 deletions

View File

@ -82,6 +82,7 @@ var _ = Describe("Podman run", func() {
})
It("podman Capabilities in containers.conf", func() {
SkipIfRootlessCgroupsV1("Not supported for rootless + CGroupsV1")
cap := podmanTest.Podman([]string{"run", ALPINE, "grep", "CapEff", "/proc/self/status"})
cap.WaitWithDefaultTimeout()
Expect(cap.ExitCode()).To(Equal(0))
@ -121,6 +122,7 @@ var _ = Describe("Podman run", func() {
})
verifyNSHandling := func(nspath, option string) {
SkipIfRootlessCgroupsV1("Not supported for rootless + CGroupsV1")
os.Setenv("CONTAINERS_CONF", "config/containers-ns.conf")
if IsRemote() {
podmanTest.RestartRemoteService()

View File

@ -471,6 +471,7 @@ var _ = Describe("Podman generate kube", func() {
})
It("podman generate kube multiple pods should fail", func() {
SkipIfRootlessCgroupsV1("Not supported for rootless + CGroupsV1")
pod1 := podmanTest.Podman([]string{"run", "-dt", "--pod", "new:pod1", ALPINE, "top"})
pod1.WaitWithDefaultTimeout()
Expect(pod1.ExitCode()).To(Equal(0))

View File

@ -225,6 +225,7 @@ var _ = Describe("Podman pod create", func() {
})
It("podman pod container can override pod pid NS", func() {
SkipIfRootlessCgroupsV1("Not supported for rootless + CGroupsV1")
session := podmanTest.Podman([]string{"pod", "create", "--share", "pid"})
session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0))

View File

@ -127,6 +127,7 @@ var _ = Describe("Podman pod kill", func() {
})
It("podman pod kill all", func() {
SkipIfRootlessCgroupsV1("Not supported for rootless + CGroupsV1")
_, ec, podid := podmanTest.CreatePod("")
Expect(ec).To(Equal(0))

View File

@ -157,6 +157,7 @@ var _ = Describe("Podman ps", func() {
})
It("podman pod ps --ctr-names", func() {
SkipIfRootlessCgroupsV1("Not supported for rootless + CGroupsV1")
_, ec, podid := podmanTest.CreatePod("")
Expect(ec).To(Equal(0))

View File

@ -17,8 +17,9 @@ var _ = Describe("Podman pod stats", func() {
)
BeforeEach(func() {
if os.Geteuid() != 0 {
SkipIfCgroupV2("--cgroup-manager=cgroupfs which doesn't work in rootless mode")
SkipIfRootless("Tests fail with both CGv1/2 + required --cgroup-manager=cgroupfs")
if isContainerized() {
SkipIfCgroupV1("All tests fail Error: unable to load cgroup at ...: cgroup deleted")
}
tempdir, err = CreateTempDirInTempDir()
@ -176,7 +177,8 @@ var _ = Describe("Podman pod stats", func() {
It("podman stats on net=host post", func() {
// --net=host not supported for rootless pods at present
SkipIfRootlessCgroupsV1("Pause stats not supported in cgroups v1")
// problem with sysctls being passed to containers of the pod.
SkipIfCgroupV1("Bug: Error: sysctl net.ipv4.ping_group_range is not allowed in the hosts network namespace: OCI runtime error")
podName := "testPod"
podCreate := podmanTest.Podman([]string{"pod", "create", "--net=host", "--name", podName})
podCreate.WaitWithDefaultTimeout()

View File

@ -35,6 +35,7 @@ var _ = Describe("Podman run ns", func() {
})
It("podman run pidns test", func() {
SkipIfRootlessCgroupsV1("Not supported for rootless + CGroupsV1")
session := podmanTest.Podman([]string{"run", fedoraMinimal, "bash", "-c", "echo $$"})
session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0))
@ -105,6 +106,7 @@ var _ = Describe("Podman run ns", func() {
})
It("podman run --ipc=host --pid=host", func() {
SkipIfRootlessCgroupsV1("Not supported for rootless + CGroupsV1")
cmd := exec.Command("ls", "-l", "/proc/self/ns/pid")
res, err := cmd.Output()
Expect(err).To(BeNil())

View File

@ -274,6 +274,7 @@ var _ = Describe("Podman run", func() {
})
It("podman test --pid=host", func() {
SkipIfRootlessCgroupsV1("Not supported for rootless + CGroupsV1")
session := podmanTest.Podman([]string{"run", "--pid=host", ALPINE, "cat", "/proc/self/attr/current"})
session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0))

View File

@ -493,7 +493,9 @@ USER bin`
Skip("Kernel does not support blkio.weight")
}
}
if podmanTest.Host.Distribution == "ubuntu" {
Skip("Ubuntu <= 20.10 lacks BFQ scheduler")
}
if CGROUPSV2 {
// convert linearly from [10-1000] to [1-10000]
session := podmanTest.Podman([]string{"run", "--rm", "--blkio-weight=15", ALPINE, "sh", "-c", "cat /sys/fs/cgroup/$(sed -e 's|0::||' < /proc/self/cgroup)/io.bfq.weight"})

View File

@ -121,6 +121,7 @@ var _ = Describe("Toolbox-specific testing", func() {
if podmanTest.RemoteTest {
Skip("Shm size check does not work with a remote client")
}
SkipIfRootlessCgroupsV1("Not supported for rootless + CGroupsV1")
var session *PodmanSessionIntegration
var cmd *exec.Cmd
var hostShmSize, containerShmSize int

View File

@ -8,6 +8,17 @@
load helpers
# Returns true if we are able to podman-pause
function _can_pause() {
# Even though we're just trying completion, not an actual unpause,
# podman barfs with:
# Error: unpause is not supported for cgroupv1 rootless containers
if is_rootless && is_cgroupsv1; then
return 1
fi
return 0
}
function check_shell_completion() {
local count=0
@ -70,8 +81,13 @@ function check_shell_completion() {
;;
*CONTAINER*)
# podman unpause fails early on rootless cgroupsv1
if [[ $cmd = "unpause" ]] && ! _can_pause; then
continue 2
fi
run_completion "$@" $cmd "${extra_args[@]}" ""
is "$output" ".*-$random_container_name${nl}" "Found expected container in suggestions"
is "$output" ".*-$random_container_name${nl}" "Found expected container in suggestions for '$cmd'"
match=true
# resume
@ -212,7 +228,9 @@ function _check_completion_end() {
run_podman create --name created-$random_container_name $IMAGE
run_podman run --name running-$random_container_name -d $IMAGE top
run_podman run --name pause-$random_container_name -d $IMAGE top
run_podman pause pause-$random_container_name
if _can_pause; then
run_podman pause pause-$random_container_name
fi
run_podman run --name exited-$random_container_name -d $IMAGE echo exited
# create pods for each state