You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by "wu-sheng (via GitHub)" <gi...@apache.org> on 2026/10/23 05:19:53 UTC

[PR] Import kind images for the node platform only, and test a containerd 1.7 node [skywalking-infra-e2e]

wu-sheng opened a new pull request, #151:
URL: https://github.com/apache/skywalking-infra-e2e/pull/151

   ## Why
   
   #150 fixed `setup.kind.import-images` with Docker's containerd image store by saving each image for the kind nodes' platform and loading it with `kind load image-archive`. Its kind e2e passed on ubuntu-26.04, yet the first real user still failed there: apache/skywalking-horizon-ui#206's istio case could not import `ghcr.io/apache/skywalking-rover/skywalking-rover:79292fe…`:
   
   ```
   ctr --namespace=k8s.io images import --all-platforms --digests --snapshotter=overlayfs -
   unpacking …skywalking-rover… (sha256:8ee29565…) ...done
   unpacking import-2026-10-23@sha256:c2474b7c… ...ctr: mismatched image rootfs and manifest layers
   ```
   
   `sha256:c2474b7c` is the image's attestation manifest (platform `unknown/unknown`). An image saved for one platform still lists its attestation manifests, and kind imports archives with `--all-platforms`. What decides whether that fails is the node's containerd:
   
   - **containerd 1.7** (`kindest/node:v1.28.15`, which Horizon pins) unpacks every imported platform with `--all-platforms`, attestation manifests included (`cmd/ctr/commands/images/import.go`, `WithUnpack(emptySpec)`).
   - **containerd 2** unpacks only the default platform even with `--all-platforms`, so the kind e2e, on kind's default node, never saw it.
   
   ## What
   
   - With the containerd image store, the per-platform archive is imported into each node of the cluster by infra-e2e itself, as `kind load image-archive` does, but with `ctr images import --platform <node platform>`: only that platform is imported and unpacked, on containerd 1.7 and 2 alike. The snapshotter is detected from the node's `containerd config dump`, as kind does. The classic image store keeps `kind load docker-image`.
   - **e2e:** a new kind case, `test/e2e/kind/containerd-1.7`, on a containerd 1.7 node (`kindest/node:v1.28.15`, Horizon's pin). It imports, as pulled by the run itself, the two images that failed in real use: the SkyWalking OAP image (`content digest … not found` before #150) and the Rover image (`mismatched image rootfs and manifest layers` with #150). The verify step checks both are in the node. It runs in the E2E workflow on ubuntu-24.04 and ubuntu-26.04.
   - Unit tests for the import arguments (`--platform`, never `--all-platforms`) and the snapshotter parsing; the unreleased CHANGES.md entry describes the final behaviour.
   
   ## Validation
   
   - `go build ./...`, `go vet`, `go test ./...` pass; license headers clean.
   - No local Docker daemon was available, so the import itself is verified by CI: this PR's E2E workflow (the new case on ubuntu-26.04), and apache/skywalking-horizon-ui#206 pinned to this branch's commit, whose istio and deployment cases run on ubuntu-26.04.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


-- 
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: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Leave image referrers out of kind image archives, and test a containerd 1.7 node [skywalking-infra-e2e]

Posted by "wu-sheng (via GitHub)" <gi...@apache.org>.
wu-sheng merged PR #151:
URL: https://github.com/apache/skywalking-infra-e2e/pull/151


-- 
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: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org