Re-enable CRIU tests by not using overlayfs snapshotter
While the issue hasn't been fixed in the kernel yet, we can workaround the issue by not using overlayfs snapshotter. The newly added step runs all tests that match /TestCheckpoint/. So, TestCRWithImagePath has been renamed to match the regexp. Fixes #3930. Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
This commit is contained in:
@@ -50,6 +50,7 @@ var (
|
||||
noCriu bool
|
||||
supportsCriu bool
|
||||
testNamespace = "testing"
|
||||
testSnapshotter = DefaultSnapshotter
|
||||
ctrdStdioFilePath string
|
||||
|
||||
ctrd = &daemon{}
|
||||
@@ -132,11 +133,30 @@ func TestMain(m *testing.M) {
|
||||
|
||||
// allow comparison with containerd under test
|
||||
log.G(ctx).WithFields(logrus.Fields{
|
||||
"version": version.Version,
|
||||
"revision": version.Revision,
|
||||
"runtime": os.Getenv("TEST_RUNTIME"),
|
||||
"version": version.Version,
|
||||
"revision": version.Revision,
|
||||
"runtime": os.Getenv("TEST_RUNTIME"),
|
||||
"snapshotter": os.Getenv("TEST_SNAPSHOTTER"),
|
||||
}).Info("running tests against containerd")
|
||||
|
||||
snapshotter := DefaultSnapshotter
|
||||
if ss := os.Getenv("TEST_SNAPSHOTTER"); ss != "" {
|
||||
snapshotter = ss
|
||||
}
|
||||
|
||||
ns, ok := namespaces.Namespace(ctx)
|
||||
if !ok {
|
||||
fmt.Fprintln(os.Stderr, "error getting namespace")
|
||||
os.Exit(1)
|
||||
}
|
||||
err = client.NamespaceService().SetLabel(ctx, ns, defaults.DefaultSnapshotterNSLabel, snapshotter)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "error setting %s's default snapshotter as %s: %s\n", ns, snapshotter, err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
testSnapshotter = snapshotter
|
||||
|
||||
// pull a seed image
|
||||
log.G(ctx).WithField("image", testImage).Info("start to pull seed image")
|
||||
if _, err = client.Pull(ctx, testImage, WithPullUnpack); err != nil {
|
||||
@@ -285,7 +305,7 @@ func TestImagePullWithDiscardContent(t *testing.T) {
|
||||
t.Fatalf("there is no layers in the target image(parent: %v)", img.Target())
|
||||
}
|
||||
var (
|
||||
sn = client.SnapshotService("")
|
||||
sn = client.SnapshotService(testSnapshotter)
|
||||
chain []digest.Digest
|
||||
)
|
||||
for i, dgst := range layers {
|
||||
|
Reference in New Issue
Block a user