Skip to content

Commit 759a080

Browse files
authored
Merge pull request #1953 from tonyzhc/test-windows
Fix build issues for Windows image.
2 parents a060235 + 66d41ff commit 759a080

File tree

6 files changed

+16
-15
lines changed

6 files changed

+16
-15
lines changed

Makefile

+7-7
Original file line numberDiff line numberDiff line change
@@ -55,18 +55,18 @@ build-container: require-GCE_PD_CSI_STAGING_IMAGE require-GCE_PD_CSI_STAGING_VER
5555
--push .
5656

5757
build-and-push-windows-container-ltsc2019: require-GCE_PD_CSI_STAGING_IMAGE init-buildx
58-
$(DOCKER) buildx build --file=Dockerfile.Windows --platform=windows \
58+
$(DOCKER) buildx build --file=Dockerfile.Windows --platform=windows/amd64 \
5959
-t $(STAGINGIMAGE):$(STAGINGVERSION)_ltsc2019 \
6060
--build-arg BASE_IMAGE=$(BASE_IMAGE_LTSC2019) \
61-
--build-arg STAGINGVERSION=$(STAGINGVERSION) --push .
61+
--build-arg STAGINGVERSION=$(STAGINGVERSION) --push --provenance=false .
6262

6363
build-and-push-multi-arch: build-and-push-container-linux-amd64 build-and-push-container-linux-arm64 build-and-push-windows-container-ltsc2019
64-
$(DOCKER) manifest create --amend $(STAGINGIMAGE):$(STAGINGVERSION) $(STAGINGIMAGE):$(STAGINGVERSION)_linux_amd64 $(STAGINGIMAGE):$(STAGINGVERSION)_linux_arm64 $(STAGINGIMAGE):$(STAGINGVERSION)_ltsc2019
64+
$(DOCKER) manifest create $(STAGINGIMAGE):$(STAGINGVERSION) $(STAGINGIMAGE):$(STAGINGVERSION)_linux_amd64 $(STAGINGIMAGE):$(STAGINGVERSION)_linux_arm64 $(STAGINGIMAGE):$(STAGINGVERSION)_ltsc2019
6565
STAGINGIMAGE="$(STAGINGIMAGE)" STAGINGVERSION="$(STAGINGVERSION)" WINDOWS_IMAGE_TAGS="$(WINDOWS_IMAGE_TAGS)" WINDOWS_BASE_IMAGES="$(WINDOWS_BASE_IMAGES)" ./manifest_osversion.sh
6666
$(DOCKER) manifest push -p $(STAGINGIMAGE):$(STAGINGVERSION)
6767

6868
build-and-push-multi-arch-debug: build-and-push-container-linux-debug build-and-push-windows-container-ltsc2019
69-
$(DOCKER) manifest create --amend $(STAGINGIMAGE):$(STAGINGVERSION) $(STAGINGIMAGE):$(STAGINGVERSION)_linux $(STAGINGIMAGE):$(STAGINGVERSION)_ltsc2019
69+
$(DOCKER) manifest create $(STAGINGIMAGE):$(STAGINGVERSION) $(STAGINGIMAGE):$(STAGINGVERSION)_linux $(STAGINGIMAGE):$(STAGINGVERSION)_ltsc2019
7070
STAGINGIMAGE="$(STAGINGIMAGE)" STAGINGVERSION="$(STAGINGVERSION)" WINDOWS_IMAGE_TAGS="ltsc2019" WINDOWS_BASE_IMAGES="$(BASE_IMAGE_LTSC2019)" ./manifest_osversion.sh
7171
$(DOCKER) manifest push -p $(STAGINGIMAGE):$(STAGINGVERSION)
7272

@@ -96,13 +96,13 @@ build-and-push-container-linux-amd64: require-GCE_PD_CSI_STAGING_IMAGE init-buil
9696
$(DOCKER) buildx build --platform=linux/amd64 \
9797
-t $(STAGINGIMAGE):$(STAGINGVERSION)_linux_amd64 \
9898
--build-arg BUILDPLATFORM=linux \
99-
--build-arg STAGINGVERSION=$(STAGINGVERSION) --push .
99+
--build-arg STAGINGVERSION=$(STAGINGVERSION) --push --provenance=false .
100100

101101
build-and-push-container-linux-arm64: require-GCE_PD_CSI_STAGING_IMAGE init-buildx
102102
$(DOCKER) buildx build --file=Dockerfile --platform=linux/arm64 \
103103
-t $(STAGINGIMAGE):$(STAGINGVERSION)_linux_arm64 \
104104
--build-arg BUILDPLATFORM=linux \
105-
--build-arg STAGINGVERSION=$(STAGINGVERSION) --push .
105+
--build-arg STAGINGVERSION=$(STAGINGVERSION) --push --provenance=false .
106106

107107
build-and-push-container-linux-debug: require-GCE_PD_CSI_STAGING_IMAGE init-buildx
108108
$(DOCKER) buildx build --file=Dockerfile.debug --platform=linux \
@@ -130,7 +130,7 @@ init-buildx:
130130
$(DOCKER) run --rm --privileged multiarch/qemu-user-static --reset --credential yes --persistent yes
131131
# Ensure we use a builder that can leverage it (the default on linux will not)
132132
-$(DOCKER) buildx rm multiarch-multiplatform-builder
133-
$(DOCKER) buildx create --use --name=multiarch-multiplatform-builder --driver-opt network=host --driver-opt image=moby/buildkit:v0.14.1
133+
$(DOCKER) buildx create --use --name=multiarch-multiplatform-builder --driver-opt network=host --driver-opt image=moby/buildkit:v0.20.0
134134
# Register gcloud as a Docker credential helper.
135135
# Required for "docker buildx build --push".
136136
gcloud auth configure-docker --quiet

go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ require (
1414
github.com/google/uuid v1.6.0
1515
github.com/googleapis/gax-go/v2 v2.12.4
1616
github.com/hashicorp/golang-lru/v2 v2.0.7
17-
github.com/kubernetes-csi/csi-proxy/client v1.1.3
17+
github.com/kubernetes-csi/csi-proxy/client v1.2.0
1818
github.com/kubernetes-csi/csi-test/v5 v5.3.0
1919
github.com/onsi/ginkgo/v2 v2.22.2
2020
github.com/onsi/gomega v1.36.2

go.sum

+2-2
Original file line numberDiff line numberDiff line change
@@ -1668,8 +1668,8 @@ github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw=
16681668
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
16691669
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
16701670
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
1671-
github.com/kubernetes-csi/csi-proxy/client v1.1.3 h1:FdGU7NtxGhQX2wTfnuscmThG920hq0OaVVpuJW9t2k0=
1672-
github.com/kubernetes-csi/csi-proxy/client v1.1.3/go.mod h1:SfK4HVKQdMH5KrffivddAWgX5hl3P5KmnuOTBbDNboU=
1671+
github.com/kubernetes-csi/csi-proxy/client v1.2.0 h1:8oagHPy7VHbHqu6iOyZyusUvGCyzbPg8OQQVh8e4Q3E=
1672+
github.com/kubernetes-csi/csi-proxy/client v1.2.0/go.mod h1:SfK4HVKQdMH5KrffivddAWgX5hl3P5KmnuOTBbDNboU=
16731673
github.com/kubernetes-csi/csi-test/v5 v5.3.0 h1:IbF3om4KZxH1KHvy+KfqJ7ZrdjYNLntAVkQXYra+9iM=
16741674
github.com/kubernetes-csi/csi-test/v5 v5.3.0/go.mod h1:NKklMyStHq8o5I30YCXxS7+v/Z4LRoft553EXR6zMS8=
16751675
github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII=

manifest_osversion.sh

+4-3
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,16 @@ for ((i=0;i<${#imagetags[@]};++i)); do
2525
BASEIMAGE="${baseimages[i]}"
2626
echo $BASEIIMAGE
2727

28-
full_version=$(docker manifest inspect ${BASEIMAGE} | grep "os.version" | head -n 1 | awk '{print $2}') || true
28+
full_version=$(docker manifest inspect ${BASEIMAGE} | grep "os.version" | head -n 1 | awk '{print $2}' | sed 's/^\"//' | sed 's/\",$//') || true
2929
echo $full_version
3030

3131
IMAGETAG=${STAGINGIMAGE}:${STAGINGVERSION}_${imagetags[i]}
3232
image_folder=$(echo "${IMAGETAG}" | sed "s|/|_|g" | sed "s/:/-/")
3333
echo ${manifest_folder}
3434

35-
# sed -i -r "s/(\"os\"\:\"windows\")/\0,\"os.version\":$full_version/" \
36-
# "${HOME}/.docker/manifests/${manifest_folder}/${image_folder}"
35+
# Needed for Windows nodes to correctly recognize the version of image to pull.
36+
# Populates the os.version field of the multi-arch image manifest.
37+
docker manifest annotate --os windows --arch amd64 --os-version ${full_version} ${STAGINGIMAGE}:${STAGINGVERSION} ${IMAGETAG}
3738

3839
# manifest after transformations
3940
cat "${HOME}/.docker/manifests/${manifest_folder}/${image_folder}"

test/run-windows-k8s-integration.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export KUBE_BUILD_PLATFORMS=${KUBE_BUILD_PLATFORMS:-"linux/amd64 windows/amd64"}
2828
make -C "${PKGDIR}" test-k8s-integration
2929

3030
if [ "$use_kubetest2" = true ]; then
31-
kt2_version=0e09086b60c122e1084edd2368d3d27fe36f384f
31+
kt2_version=22d5b1410bef09ae679fa5813a5f0d196b6079de
3232
go install sigs.k8s.io/kubetest2@${kt2_version}
3333
go install sigs.k8s.io/kubetest2/kubetest2-gce@${kt2_version}
3434
go install sigs.k8s.io/kubetest2/kubetest2-gke@${kt2_version}

vendor/modules.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ github.com/josharian/intern
208208
# github.com/json-iterator/go v1.1.12
209209
## explicit; go 1.12
210210
github.com/json-iterator/go
211-
# github.com/kubernetes-csi/csi-proxy/client v1.1.3
211+
# github.com/kubernetes-csi/csi-proxy/client v1.2.0
212212
## explicit; go 1.16
213213
github.com/kubernetes-csi/csi-proxy/client
214214
github.com/kubernetes-csi/csi-proxy/client/api/disk/v1

0 commit comments

Comments
 (0)