Skip to content

Fix image load issue with digest only#23

Merged
solsson merged 2 commits into
mainfrom
images-load-config-digest-refs
May 11, 2026
Merged

Fix image load issue with digest only#23
solsson merged 2 commits into
mainfrom
images-load-config-digest-refs

Conversation

@solsson

@solsson solsson commented May 11, 2026

Copy link
Copy Markdown
Contributor

No description provided.

Yolean k8s-qa added 2 commits May 11, 2026 08:26
Two changes in the post-import alias step:

1. The alias loop walked every new row from `ctr image list`,
   including the bare `sha256:<hex>` config-digest row that ctr
   writes alongside the canonical ref. stripTag turned that into
   the literal "sha256", and the synthesized alias became
   "sha256@sha256:<digest>" -- a garbage entry that kubelet's
   checkpoint-image check on containerd v2 normalizes to
   "docker.io/library/sha256@..." (not found), leaving the pod
   stuck in CreateContainerError.

2. Digest-only input refs ("<repo>@<digest>") landed in the image
   store without any tag-form alias, hitting the same kubelet
   lookup failure. Loader now synthesizes a "<repo>:latest@<digest>"
   alias so crictl and kubelet resolve them. Matches the manual
   `ctr image tag --force` workaround checkit's appliance-init.sh
   has been carrying for the holdout images (minio-deduplication,
   solsson/kafka:native-cli).

Decision lives in aliasFor(ref, digest), unit-tested in
TestAliasFor. Summary log filters the config-digest row too, so
operators no longer see misleading "imported sha256:..." lines.

Refs specs/y-cluster/ISSUE_IMAGES_LOAD_MANGLES_CONFIG_DIGEST_REFS.md
@solsson solsson merged commit 51697d7 into main May 11, 2026
11 checks passed
solsson pushed a commit to Yolean/ystack that referenced this pull request May 12, 2026
Bumps host bin (bin/y-bin.runner.yaml) and the in-cluster
y-kustomize Deployment image across four consecutive y-cluster
releases:

- v0.4.2: `images load` accepts remote refs (Yolean/y-cluster#22)
- v0.4.3: fix `images load` for digest-only refs (Yolean/y-cluster#23)
- v0.4.4: `images list --context=<ctx>` subcommand
  (Yolean/y-cluster#24) and tunable Gateway API resource requests
  (Yolean/y-cluster#25)
- v0.4.5: re-fix digest-only image tagging and gateway resource
  requests (Yolean/y-cluster#26)

Image digest verified via `crane digest ghcr.io/yolean/y-cluster:v0.4.5`.
sha256 sums copied from v0.4.5's checksums.txt.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant