Skip to content

Commit e589a1e

Browse files
authored
Merge pull request #503 from Random-Liu/fix-image-test
Use a dedicated image for all reference test.
2 parents b9d6f69 + 62f2e2f commit e589a1e

File tree

7 files changed

+32
-30
lines changed

7 files changed

+32
-30
lines changed

hack/make-rules/Makefile.manifest

+3
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ MANIFEST_TOOL_DIR := $(shell mktemp -d)
1818
export PATH := $(MANIFEST_TOOL_DIR):$(PATH)
1919

2020
MANIFEST_TOOL_VERSION := v0.7.0
21+
USERNAME ?= oauth2accesstoken
22+
PASSWORD ?= $(shell gcloud auth print-access-token)
23+
MANIFEST_TOOL = manifest-tool --username=$(USERNAME) --password=$(PASSWORD)
2124

2225
space :=
2326
space +=

images/hostnet-nginx/Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,4 @@ hostnet-nginx:
3131
$(foreach arch,$(ALL_ARCH),docker push $(REGISTRY)/$@-$(arch);)
3232

3333
push-manifest: manifest-tool
34-
$(foreach image,$(IMAGES_LIST),manifest-tool push from-args --platforms $(call join_platforms,$(ALL_ARCH)) --template $(REGISTRY)/$(image)-ARCH:$(TAG) --target $(REGISTRY)/$(image):$(TAG);)
34+
$(foreach image,$(IMAGES_LIST),$(MANIFEST_TOOL) push from-args --platforms $(call join_platforms,$(ALL_ARCH)) --template $(REGISTRY)/$(image)-ARCH:$(TAG) --target $(REGISTRY)/$(image):$(TAG);)

images/image-test-win/build.ps1

+2-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ $Tag = "latest"
1717
$ImagesList = @(
1818
"win-test-image-1:$Tag", "win-test-image-2:$Tag", "win-test-image-3:$Tag",
1919
"win-test-image-latest:$Tag", "win-test-image-digest:$Tag",
20-
"win-test-image-tags:1", "win-test-image-tags:2", "win-test-image-tags:3","win-test-image-tag:test")
20+
"win-test-image-tags:1", "win-test-image-tags:2", "win-test-image-tags:3",
21+
"win-test-image-tag:test", "win-test-image-tag:all")
2122

2223
Foreach ($image in $ImagesList) {
2324
$imageName = $image.Substring(0, $image.IndexOf(":"))

images/image-test/Makefile

+11-19
Original file line numberDiff line numberDiff line change
@@ -15,36 +15,28 @@
1515
include ../../hack/make-rules/Makefile.manifest
1616
include ../../hack/make-rules/BASEIMAGES
1717

18-
.PHONY: all-push all-push-images test-image-tags test-image-tag push-manifest
18+
.PHONY: all-push all-push-images push-manifest
1919

2020
REGISTRY ?= gcr.io/cri-tools
2121
TAG = latest
2222
ALL_ARCH = amd64 arm64 ppc64le s390x
2323
IMAGES_LIST = test-image-1 test-image-2 test-image-3 test-image-latest test-image-digest
24+
IMAGE_TAGS_LIST = test all
25+
SAME_IMAGE_TAGS_LIST = 1 2 3
2426

25-
all-push: all-push-images test-image-tags test-image-tag push-manifest
27+
all-push: all-push-images push-manifest
2628

2729
all-push-images: $(addprefix sub-push-,$(ALL_ARCH))
2830

2931
sub-push-%:
3032
$(foreach name,$(IMAGES_LIST),touch $(name) && docker build . -t $(REGISTRY)/$(name)-$*:$(TAG) --build-arg TEST=$(name) --build-arg ARCH=$($*) && rm -f $(name);)
3133
$(foreach name,$(IMAGES_LIST),docker push $(REGISTRY)/$(name)-$*:$(TAG);)
32-
33-
test-image-tags:
34-
$(foreach arch,$(ALL_ARCH),touch $@ && docker build . -t $(REGISTRY)/$@-$(arch):1 --build-arg TEST=$@ --build-arg ARCH=$($(arch)) && rm -f $@;)
35-
$(foreach arch,$(ALL_ARCH),docker tag $(REGISTRY)/$@-$(arch):1 $(REGISTRY)/$@-$(arch):2;)
36-
$(foreach arch,$(ALL_ARCH),docker tag $(REGISTRY)/$@-$(arch):1 $(REGISTRY)/$@-$(arch):3;)
37-
$(foreach arch,$(ALL_ARCH),docker push $(REGISTRY)/$@-$(arch):1;)
38-
$(foreach arch,$(ALL_ARCH),docker push $(REGISTRY)/$@-$(arch):2;)
39-
$(foreach arch,$(ALL_ARCH),docker push $(REGISTRY)/$@-$(arch):3;)
40-
41-
test-image-tag:
42-
$(foreach arch,$(ALL_ARCH),touch $@ && docker build . -t $(REGISTRY)/$@-$(arch):test --build-arg TEST=$@ --build-arg ARCH=$($(arch)) && rm -f $@;)
43-
$(foreach arch,$(ALL_ARCH),docker push $(REGISTRY)/$@-$(arch):test;)
34+
$(foreach tag,$(IMAGE_TAGS_LIST),touch $(tag) && docker build . -t $(REGISTRY)/test-image-tag-$*:$(tag) --build-arg TEST=$(tag) --build-arg ARCH=$($*) && rm -f $(tag);)
35+
$(foreach tag,$(IMAGE_TAGS_LIST),docker push $(REGISTRY)/test-image-tag-$*:$(tag);)
36+
$(foreach tag,$(SAME_IMAGE_TAGS_LIST),touch same-image && docker build . -t $(REGISTRY)/test-image-tags-$*:$(tag) --build-arg TEST=same-image --build-arg ARCH=$($*) && rm -f same-image;)
37+
$(foreach tag,$(SAME_IMAGE_TAGS_LIST),docker push $(REGISTRY)/test-image-tag-$*:$(tag);)
4438

4539
push-manifest: manifest-tool
46-
$(foreach image,$(IMAGES_LIST),manifest-tool push from-args --platforms $(call join_platforms,$(ALL_ARCH)) --template $(REGISTRY)/$(image)-ARCH:$(TAG) --target $(REGISTRY)/$(image):$(TAG);)
47-
$(foreach arch,$(ALL_ARCH),manifest-tool push from-args --platforms $(call join_platforms,$(ALL_ARCH)) --template $(REGISTRY)/test-image-tags-ARCH:1 --target $(REGISTRY)/test-image-tags:1;)
48-
$(foreach arch,$(ALL_ARCH),manifest-tool push from-args --platforms $(call join_platforms,$(ALL_ARCH)) --template $(REGISTRY)/test-image-tags-ARCH:2 --target $(REGISTRY)/test-image-tags:2;)
49-
$(foreach arch,$(ALL_ARCH),manifest-tool push from-args --platforms $(call join_platforms,$(ALL_ARCH)) --template $(REGISTRY)/test-image-tags-ARCH:3 --target $(REGISTRY)/test-image-tags:3;)
50-
$(foreach arch,$(ALL_ARCH),manifest-tool push from-args --platforms $(call join_platforms,$(ALL_ARCH)) --template $(REGISTRY)/test-image-tag-ARCH:test --target $(REGISTRY)/test-image-tag:test;)
40+
$(foreach image,$(IMAGES_LIST),$(MANIFEST_TOOL) push from-args --platforms $(call join_platforms,$(ALL_ARCH)) --template $(REGISTRY)/$(image)-ARCH:$(TAG) --target $(REGISTRY)/$(image):$(TAG);)
41+
$(foreach tag,$(IMAGE_TAGS_LIST),$(MANIFEST_TOOL) push from-args --platforms $(call join_platforms,$(ALL_ARCH)) --template $(REGISTRY)/test-image-tag-ARCH:$(tag) --target $(REGISTRY)/test-image-tag:$(tag);)
42+
$(foreach tag,$(SAME_IMAGE_TAGS_LIST),$(MANIFEST_TOOL) push from-args --platforms $(call join_platforms,$(ALL_ARCH)) --template $(REGISTRY)/test-image-tag-ARCH:$(tag) --target $(REGISTRY)/test-image-tag:$(tag);)

images/image-user/Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,4 @@ test-image-user-username-group:
4242
$(foreach arch,$(ALL_ARCH),docker push $(REGISTRY)/$@-$(arch);)
4343

4444
push-manifest: manifest-tool
45-
$(foreach image,$(IMAGES_LIST),manifest-tool push from-args --platforms $(call join_platforms,$(ALL_ARCH)) --template $(REGISTRY)/$(image)-ARCH:$(TAG) --target $(REGISTRY)/$(image):$(TAG);)
45+
$(foreach image,$(IMAGES_LIST),$(MANIFEST_TOOL) push from-args --platforms $(call join_platforms,$(ALL_ARCH)) --template $(REGISTRY)/$(image)-ARCH:$(TAG) --target $(REGISTRY)/$(image):$(TAG);)

pkg/validate/consts.go

+13-6
Original file line numberDiff line numberDiff line change
@@ -96,14 +96,16 @@ const (
9696
imageUserUsernameGroup = "www-data"
9797

9898
// Linux defaults
99-
testLinuxImageWithoutTag = "gcr.io/cri-tools/test-image-latest"
100-
testLinuxImageWithTag = "gcr.io/cri-tools/test-image-tag:test"
101-
testLinuxImageWithDigest = "gcr.io/cri-tools/test-image-digest@sha256:9179135b4b4cc5a8721e09379244807553c318d92fa3111a65133241551ca343"
99+
testLinuxImageWithoutTag = "gcr.io/cri-tools/test-image-latest"
100+
testLinuxImageWithTag = "gcr.io/cri-tools/test-image-tag:test"
101+
testLinuxImageWithDigest = "gcr.io/cri-tools/test-image-digest@sha256:9179135b4b4cc5a8721e09379244807553c318d92fa3111a65133241551ca343"
102+
testLinuxImageWithAllReferences = "gcr.io/cri-tools/test-image-tag:all"
102103

103104
// Windows defaults
104-
testWindowsImageWithoutTag = "gcr.io/cri-tools/win-test-image-latest"
105-
testWindowsImageWithTag = "gcr.io/cri-tools/win-test-image-tag:test"
106-
testWindowsImageWithDigest = "gcr.io/cri-tools/win-test-image-digest@sha256:05c5e07eab041551e466d6e33a0a5649a23a929cd236391b2835ec79dc245090"
105+
testWindowsImageWithoutTag = "gcr.io/cri-tools/win-test-image-latest"
106+
testWindowsImageWithTag = "gcr.io/cri-tools/win-test-image-tag:test"
107+
testWindowsImageWithDigest = "gcr.io/cri-tools/win-test-image-digest@sha256:05c5e07eab041551e466d6e33a0a5649a23a929cd236391b2835ec79dc245090"
108+
testWindowsImageWithAllReferences = "gcr.io/cri-tools/win-test-image-tag:all"
107109
)
108110

109111
var (
@@ -116,6 +118,9 @@ var (
116118
// digested reference for test image
117119
testImageWithDigest string
118120

121+
// image used to test all kinds of references.
122+
testImageWithAllReferences string
123+
119124
// image list where different tags refer to different images
120125
testDifferentTagDifferentImageList []string
121126

@@ -155,12 +160,14 @@ var _ = framework.AddBeforeSuiteCallback(func() {
155160
testImageWithoutTag = testLinuxImageWithoutTag
156161
testImageWithTag = testLinuxImageWithTag
157162
testImageWithDigest = testLinuxImageWithDigest
163+
testImageWithAllReferences = testLinuxImageWithAllReferences
158164
testDifferentTagDifferentImageList = testLinuxDifferentTagDifferentImageList
159165
testDifferentTagSameImageList = testLinuxDifferentTagSameImageList
160166
} else {
161167
testImageWithoutTag = testWindowsImageWithoutTag
162168
testImageWithTag = testWindowsImageWithTag
163169
testImageWithDigest = testWindowsImageWithDigest
170+
testImageWithAllReferences = testWindowsImageWithAllReferences
164171
testDifferentTagDifferentImageList = testWindowsDifferentTagDifferentImageList
165172
testDifferentTagSameImageList = testWindowsDifferentTagSameImageList
166173
}

pkg/validate/image.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ var _ = framework.KubeDescribe("Image Manager", func() {
5858
})
5959

6060
It("image status should support all kinds of references [Conformance]", func() {
61-
imageName := testImageWithTag
61+
imageName := testImageWithAllReferences
6262
// Make sure image does not exist before testing.
6363
removeImage(c, imageName)
6464

@@ -78,7 +78,6 @@ var _ = framework.KubeDescribe("Image Manager", func() {
7878
}
7979

8080
testRemoveImage(c, imageName)
81-
8281
})
8382

8483
if runtime.GOOS != "windows" || framework.TestContext.IsLcow {

0 commit comments

Comments
 (0)