From 76df31830c16d0b2dbbb8622dbc584de256cf874 Mon Sep 17 00:00:00 2001 From: Adrian Reber Date: Fri, 26 Apr 2019 21:06:23 +0200 Subject: Only run checkpoint/restore tests on Fedora >= 29 Only Fedora 29 and newer has an updated container-selinux and selinux-policy new enough to support CRIU in restoring threaded processes in a container with SELinux enabled. Also skip checkpoint/restore tests if rootless. CRIU requires root. Signed-off-by: Adrian Reber --- test/e2e/checkpoint_test.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/test/e2e/checkpoint_test.go b/test/e2e/checkpoint_test.go index 5b549755e..c2f5a592c 100644 --- a/test/e2e/checkpoint_test.go +++ b/test/e2e/checkpoint_test.go @@ -21,6 +21,7 @@ var _ = Describe("Podman checkpoint", func() { ) BeforeEach(func() { + SkipIfRootless() tempdir, err = CreateTempDirInTempDir() if err != nil { os.Exit(1) @@ -41,11 +42,12 @@ var _ = Describe("Podman checkpoint", func() { if !criu.CheckForCriu() { Skip("CRIU is missing or too old.") } - // TODO: Remove the skip when the current CRIU SELinux problem is solved. - // See: https://github.com/containers/libpod/issues/2334 + // Only Fedora 29 and newer has a new enough selinux-policy and + // container-selinux package to support CRIU in correctly + // restoring threaded processes hostInfo := podmanTest.Host - if hostInfo.Distribution == "fedora" { - Skip("Checkpointing containers on Fedora currently broken.") + if hostInfo.Distribution == "fedora" && hostInfo.Version < "29" { + Skip("Checkpoint/Restore with SELinux only works on Fedora >= 29") } }) -- cgit v1.2.3-54-g00ecf From 5e6ce93b1e6805743d55e5a745841d819b9209d7 Mon Sep 17 00:00:00 2001 From: Adrian Reber Date: Tue, 19 Mar 2019 13:52:31 +0000 Subject: Upgrade to latest criu and selinux-policy This fixes all the current errors concerning checkpoint/restore. Signed-off-by: Adrian Reber --- contrib/cirrus/setup_environment.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/contrib/cirrus/setup_environment.sh b/contrib/cirrus/setup_environment.sh index 2f9b1d796..98276b70c 100755 --- a/contrib/cirrus/setup_environment.sh +++ b/contrib/cirrus/setup_environment.sh @@ -55,6 +55,8 @@ then CON_SEL="https://kojipkgs.fedoraproject.org/packages/container-selinux/2.100/1.git3b78187.fc29/noarch/container-selinux-2.100-1.git3b78187.fc29.noarch.rpm" echo ">>>>> OVERRIDING container-selinux WITH $CON_SEL <<<<<" dnf -y install $CON_SEL + echo ">>>>> OVERRIDING criu and selinux-policy with latest package <<<<<" + dnf -y upgrade criu selinux-policy ;& # Continue to the next item fedora-28) echo ">>>>> OVERRIDING source-built runc with latest package <<<<<" -- cgit v1.2.3-54-g00ecf