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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    Status
    New/ToDo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions