Skip to content

fix(e2e): kind load docker-image fails on Apple Silicon with containerd image store #454

Description

@akram

Summary

The e2e test suite's LoadImageToKindClusterWithName fails on Apple Silicon Macs with Docker Desktop's containerd image store enabled. kind load docker-image uses ctr images import --all-platforms --digests which fails with:

ctr: content digest sha256:...: not found

This affects multi-arch images like authbridge-envoy, authbridge, and proxy-init.

Fix applied (not yet submitted)

Added a docker save | docker exec ctr import fallback in test/utils/utils.go between the kind load attempt and the podman fallback. This bypasses the --all-platforms --digests flags that cause the failure.

The fix was validated: 41/41 e2e specs PASSED on Apple Silicon (M-series) with Docker Desktop 29.3.0 + containerd image store + kind v0.31.0.

Patch

// Fallback: docker save piped to ctr import
nodeName := cluster + "-control-plane"
shellCmd := fmt.Sprintf("docker save %s | docker exec -i %s ctr --namespace=k8s.io images import -", name, nodeName)
cmd = exec.Command("sh", "-c", shellCmd)
if _, pipeErr := Run(cmd); pipeErr == nil {
    return nil
}

Will submit as a PR if desired.

Environment

  • macOS (Apple Silicon / ARM64)
  • Docker Desktop 29.3.0 with "Use containerd for pulling and storing images" enabled
  • kind v0.31.0
  • Multi-arch images from ghcr.io/kagenti/kagenti-extensions

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions