diff --git a/test/e2e_node/eviction_test.go b/test/e2e_node/eviction_test.go index 36c5095f9c6..484130ce6c8 100644 --- a/test/e2e_node/eviction_test.go +++ b/test/e2e_node/eviction_test.go @@ -92,11 +92,9 @@ var _ = SIGDescribe("InodeEviction", framework.WithSlow(), framework.WithSerial( runEvictionTest(f, pressureTimeout, expectedNodeCondition, expectedStarvedResource, logInodeMetrics, []podEvictSpec{ { evictionPriority: 1, - pod: inodeConsumingPod("container-inode-hog", lotsOfFiles, nil), - }, - { - evictionPriority: 1, - pod: inodeConsumingPod("volume-inode-hog", lotsOfFiles, &v1.VolumeSource{EmptyDir: &v1.EmptyDirVolumeSource{}}), + // TODO(#127864): Container runtime may not immediate free up the resources after the pod eviction, + // causing the test to fail. We provision an emptyDir volume to avoid relying on the runtime behavior. + pod: inodeConsumingPod("volume-inode-hog", lotsOfFiles, &v1.VolumeSource{EmptyDir: &v1.EmptyDirVolumeSource{}}), }, { evictionPriority: 0, @@ -199,7 +197,9 @@ var _ = SIGDescribe("LocalStorageEviction", framework.WithSlow(), framework.With runEvictionTest(f, pressureTimeout, expectedNodeCondition, expectedStarvedResource, logDiskMetrics, []podEvictSpec{ { evictionPriority: 1, - pod: diskConsumingPod("container-disk-hog", lotsOfDisk, nil, v1.ResourceRequirements{}), + // TODO(#127864): Container runtime may not immediate free up the resources after the pod eviction, + // causing the test to fail. We provision an emptyDir volume to avoid relying on the runtime behavior. + pod: diskConsumingPod("container-disk-hog", lotsOfDisk, &v1.VolumeSource{EmptyDir: &v1.EmptyDirVolumeSource{}}, v1.ResourceRequirements{}), }, { evictionPriority: 0, @@ -238,7 +238,9 @@ var _ = SIGDescribe("LocalStorageSoftEviction", framework.WithSlow(), framework. runEvictionTest(f, pressureTimeout, expectedNodeCondition, expectedStarvedResource, logDiskMetrics, []podEvictSpec{ { evictionPriority: 1, - pod: diskConsumingPod("container-disk-hog", lotsOfDisk, nil, v1.ResourceRequirements{}), + // TODO(#127864): Container runtime may not immediate free up the resources after the pod eviction, + // causing the test to fail. We provision an emptyDir volume to avoid relying on the runtime behavior. + pod: diskConsumingPod("container-disk-hog", lotsOfDisk, &v1.VolumeSource{EmptyDir: &v1.EmptyDirVolumeSource{}}, v1.ResourceRequirements{}), }, { evictionPriority: 0, @@ -479,16 +481,20 @@ var _ = SIGDescribe("PriorityLocalStorageEvictionOrdering", framework.WithSlow() specs := []podEvictSpec{ { evictionPriority: 2, - pod: diskConsumingPod("best-effort-disk", lotsOfDisk, nil, v1.ResourceRequirements{}), + // TODO(#127864): Container runtime may not immediate free up the resources after the pod eviction, + // causing the test to fail. We provision an emptyDir volume to avoid relying on the runtime behavior. + pod: diskConsumingPod("best-effort-disk", lotsOfDisk, &v1.VolumeSource{EmptyDir: &v1.EmptyDirVolumeSource{}}, v1.ResourceRequirements{}), }, { evictionPriority: 1, - pod: diskConsumingPod("high-priority-disk", lotsOfDisk, nil, v1.ResourceRequirements{}), + // TODO(#127864): Container runtime may not immediate free up the resources after the pod eviction, + // causing the test to fail. We provision an emptyDir volume to avoid relying on the runtime behavior. + pod: diskConsumingPod("high-priority-disk", lotsOfDisk, &v1.VolumeSource{EmptyDir: &v1.EmptyDirVolumeSource{}}, v1.ResourceRequirements{}), }, { evictionPriority: 0, // Only require 99% accuracy (297/300 Mb) because on some OS distributions, the file itself (excluding contents), consumes disk space. - pod: diskConsumingPod("guaranteed-disk", 297 /* Mb */, nil, v1.ResourceRequirements{ + pod: diskConsumingPod("guaranteed-disk", 297 /* Mb */, &v1.VolumeSource{EmptyDir: &v1.EmptyDirVolumeSource{}}, v1.ResourceRequirements{ Requests: v1.ResourceList{ v1.ResourceEphemeralStorage: resource.MustParse("300Mi"), },