Skip to content

Commit b9c403e

Browse files
committed
Merge remote-tracking branch 'upstream/master'
2 parents 74c7d66 + fc4da97 commit b9c403e

16 files changed

Lines changed: 75 additions & 98 deletions

integration/addition_gids_test.go

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,8 @@ func TestAdditionalGids(t *testing.T) {
4949
testImage = GetImage(BusyBox)
5050
containerName = "test-container"
5151
)
52-
t.Logf("Pull test image %q", testImage)
53-
img, err := imageService.PullImage(&runtime.ImageSpec{Image: testImage}, nil, sbConfig)
54-
require.NoError(t, err)
55-
defer func() {
56-
assert.NoError(t, imageService.RemoveImage(&runtime.ImageSpec{Image: img}))
57-
}()
52+
53+
EnsureImageExists(t, testImage)
5854

5955
t.Log("Create a container to print id")
6056
cnConfig := ContainerConfig(

integration/client/container_linux_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ import (
5555
"golang.org/x/sys/unix"
5656
)
5757

58-
const testUserNSImage = "mirror.gcr.io/library/alpine:latest"
58+
const testUserNSImage = "mirror.gcr.io/library/alpine:3.13"
5959

6060
// TestRegressionIssue4769 verifies the number of task exit events.
6161
//

integration/common.go

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,13 @@ package integration
2121
import (
2222
"fmt"
2323
"io/ioutil"
24+
"testing"
2425

2526
"github.com/pelletier/go-toml"
2627
"github.com/sirupsen/logrus"
28+
"github.com/stretchr/testify/require"
2729
cri "k8s.io/cri-api/pkg/apis"
30+
runtime "k8s.io/cri-api/pkg/apis/runtime/v1alpha2"
2831
)
2932

3033
// ImageList holds public image references
@@ -104,3 +107,20 @@ func initImageMap(imageList ImageList) map[int]string {
104107
func GetImage(image int) string {
105108
return imageMap[image]
106109
}
110+
111+
// EnsureImageExists pulls the given image, ensures that no error was encountered
112+
// while pulling it.
113+
func EnsureImageExists(t *testing.T, imageName string) string {
114+
img, err := imageService.ImageStatus(&runtime.ImageSpec{Image: imageName})
115+
require.NoError(t, err)
116+
if img != nil {
117+
t.Logf("Image %q already exists, not pulling.", imageName)
118+
return img.Id
119+
}
120+
121+
t.Logf("Pull test image %q", imageName)
122+
imgID, err := imageService.PullImage(&runtime.ImageSpec{Image: imageName}, nil, nil)
123+
require.NoError(t, err)
124+
125+
return imgID
126+
}

integration/container_log_test.go

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,8 @@ func TestContainerLogWithoutTailingNewLine(t *testing.T) {
5252
testImage = GetImage(BusyBox)
5353
containerName = "test-container"
5454
)
55-
t.Logf("Pull test image %q", testImage)
56-
img, err := imageService.PullImage(&runtime.ImageSpec{Image: testImage}, nil, sbConfig)
57-
require.NoError(t, err)
58-
defer func() {
59-
assert.NoError(t, imageService.RemoveImage(&runtime.ImageSpec{Image: img}))
60-
}()
55+
56+
EnsureImageExists(t, testImage)
6157

6258
t.Log("Create a container with log path")
6359
cnConfig := ContainerConfig(
@@ -112,12 +108,8 @@ func TestLongContainerLog(t *testing.T) {
112108
testImage = GetImage(BusyBox)
113109
containerName = "test-container"
114110
)
115-
t.Logf("Pull test image %q", testImage)
116-
img, err := imageService.PullImage(&runtime.ImageSpec{Image: testImage}, nil, sbConfig)
117-
require.NoError(t, err)
118-
defer func() {
119-
assert.NoError(t, imageService.RemoveImage(&runtime.ImageSpec{Image: img}))
120-
}()
111+
112+
EnsureImageExists(t, testImage)
121113

122114
t.Log("Create a container with log path")
123115
config, err := CRIConfig()

integration/container_stop_test.go

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,8 @@ func TestSharedPidMultiProcessContainerStop(t *testing.T) {
4646
testImage = GetImage(BusyBox)
4747
containerName = "test-container"
4848
)
49-
t.Logf("Pull test image %q", testImage)
50-
img, err := imageService.PullImage(&runtime.ImageSpec{Image: testImage}, nil, sbConfig)
51-
require.NoError(t, err)
52-
defer func() {
53-
assert.NoError(t, imageService.RemoveImage(&runtime.ImageSpec{Image: img}))
54-
}()
49+
50+
EnsureImageExists(t, testImage)
5551

5652
t.Log("Create a multi-process container")
5753
cnConfig := ContainerConfig(
@@ -90,12 +86,8 @@ func TestContainerStopCancellation(t *testing.T) {
9086
testImage = GetImage(BusyBox)
9187
containerName = "test-container"
9288
)
93-
t.Logf("Pull test image %q", testImage)
94-
img, err := imageService.PullImage(&runtime.ImageSpec{Image: testImage}, nil, sbConfig)
95-
require.NoError(t, err)
96-
defer func() {
97-
assert.NoError(t, imageService.RemoveImage(&runtime.ImageSpec{Image: img}))
98-
}()
89+
90+
EnsureImageExists(t, testImage)
9991

10092
t.Log("Create a container which traps sigterm")
10193
cnConfig := ContainerConfig(

integration/container_without_image_ref_test.go

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,8 @@ func TestContainerLifecycleWithoutImageRef(t *testing.T) {
4141
testImage = GetImage(BusyBox)
4242
containerName = "test-container"
4343
)
44-
t.Log("Pull test image")
45-
img, err := imageService.PullImage(&runtime.ImageSpec{Image: testImage}, nil, sbConfig)
46-
require.NoError(t, err)
47-
defer func() {
48-
assert.NoError(t, imageService.RemoveImage(&runtime.ImageSpec{Image: img}))
49-
}()
44+
45+
img := EnsureImageExists(t, testImage)
5046

5147
t.Log("Create test container")
5248
cnConfig := ContainerConfig(

integration/containerd_image_test.go

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -185,13 +185,8 @@ func TestContainerdImageInOtherNamespaces(t *testing.T) {
185185
}
186186
require.NoError(t, Consistently(checkImage, 100*time.Millisecond, time.Second))
187187

188-
sbConfig := PodSandboxConfig("sandbox", "test")
189-
t.Logf("pull the image into cri plugin")
190-
id, err := imageService.PullImage(&runtime.ImageSpec{Image: testImage}, nil, sbConfig)
191-
require.NoError(t, err)
192-
defer func() {
193-
assert.NoError(t, imageService.RemoveImage(&runtime.ImageSpec{Image: id}))
194-
}()
188+
PodSandboxConfig("sandbox", "test")
189+
EnsureImageExists(t, testImage)
195190

196191
t.Logf("cri plugin should see the image now")
197192
img, err := imageService.ImageStatus(&runtime.ImageSpec{Image: testImage})

integration/imagefs_info_test.go

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,8 @@ func TestImageFSInfo(t *testing.T) {
3333
config := PodSandboxConfig("running-pod", "imagefs")
3434

3535
t.Logf("Pull an image to make sure image fs is not empty")
36-
img, err := imageService.PullImage(&runtime.ImageSpec{Image: GetImage(BusyBox)}, nil, config)
37-
require.NoError(t, err)
38-
defer func() {
39-
err := imageService.RemoveImage(&runtime.ImageSpec{Image: img})
40-
assert.NoError(t, err)
41-
}()
36+
EnsureImageExists(t, GetImage(BusyBox))
37+
4238
t.Logf("Create a sandbox to make sure there is an active snapshot")
4339
sb, err := runtimeService.RunPodSandbox(config, *runtimeHandler)
4440
require.NoError(t, err)

integration/pod_dualstack_test.go

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,8 @@ func TestPodDualStack(t *testing.T) {
5050
testImage = GetImage(BusyBox)
5151
containerName = "test-container"
5252
)
53-
t.Logf("Pull test image %q", testImage)
54-
img, err := imageService.PullImage(&runtime.ImageSpec{Image: testImage}, nil, sbConfig)
55-
require.NoError(t, err)
56-
defer func() {
57-
assert.NoError(t, imageService.RemoveImage(&runtime.ImageSpec{Image: img}))
58-
}()
53+
54+
EnsureImageExists(t, testImage)
5955

6056
t.Log("Create a container to print env")
6157
cnConfig := ContainerConfig(

integration/pod_hostname_test.go

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -86,12 +86,8 @@ func TestPodHostname(t *testing.T) {
8686
testImage = GetImage(BusyBox)
8787
containerName = "test-container"
8888
)
89-
t.Logf("Pull test image %q", testImage)
90-
img, err := imageService.PullImage(&runtime.ImageSpec{Image: testImage}, nil, sbConfig)
91-
require.NoError(t, err)
92-
defer func() {
93-
assert.NoError(t, imageService.RemoveImage(&runtime.ImageSpec{Image: img}))
94-
}()
89+
90+
EnsureImageExists(t, testImage)
9591

9692
t.Log("Create a container to print env")
9793
cnConfig := ContainerConfig(

0 commit comments

Comments
 (0)