AlinsRan opened a new pull request, #2907: URL: https://github.com/apache/apisix-ingress-controller/pull/2907
### Type of change: - [x] CI/CD or Tests ### What this PR does / why we need it: Every e2e, conformance and benchmark job now fails before any test runs, on master as well as on open PRs: ``` make kind-load-adc-image ERROR: failed to load image: command "docker exec --privileged -i apisix-ingress-cluster-control-plane ctr --namespace=k8s.io images import --all-platforms --digests --snapshotter=overlayfs -" failed with error: exit status 1 Command Output: ctr: rpc error: code = NotFound desc = content digest sha256:1a6cf9b520679173d0b4a982aa089c049b34ba24fc1bc0198896b769edff5dc2: not found ``` `ubuntu-latest` moved from ubuntu-24.04 to ubuntu-26.04, which ships Docker 29 with the containerd image store enabled. With that store, `docker save` exports the whole multi-platform index of a pulled image although only the host platform's content is present. `kind load docker-image` imports the archive with `ctr images import --all-platforms`, so it fails on the missing platform; the digest above is the `linux/arm64` manifest of `ghcr.io/api7/adc:0.31.0`. kind v0.33.0 and kind main still save and import the same way, so upgrading kind does not help. Load images through a `kind-load-image` Makefile helper. When Docker uses the containerd image store, it saves only the Docker server's platform with `docker save --platform` and loads that archive with `kind load image-archive`. Otherwise it keeps `kind load docker-image`, because `docker save --platform` does not exist before Docker 28. All images loaded by `kind-load-images`, `kind-load-ingress-image` and `kind-load-adc-image` use the helper. Validation: - Docker 29.9.2 (containerd image store) + kind v0.27.0 + `kindest/node:v1.32.2`: reproduced the exact CI error with `kind load docker-image`; `make kind-load-images` with this change loads all six images into the node, and a missing image still fails the target. - Docker 27.0.3 (overlay2) + kind v0.27.0: `make kind-load-ingress-image` still takes the `kind load docker-image` path and succeeds. ### Pre-submission checklist: - [x] Did you explain what problem does this PR solve? Or what new features have been added? - [ ] Have you added corresponding test cases? - [ ] Have you modified the corresponding document? - [x] Is this PR backward compatible? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
