Repository navigation
e2e: seed node image with skopeo to preserve its digest - #266
Merged
Merged
Conversation
HarshwardhanPatil07
left a comment
Member
There was a problem hiding this comment.
oh i was looking at the same digest mismatch problem
HarshwardhanPatil07
requested changes
Oct 27, 2026
HarshwardhanPatil07
left a comment
Member
There was a problem hiding this comment.
i think this will work
GitHub moved the ubuntu-latest runner from Ubuntu 24.04 to 26.04,
which upgraded podman from 4.9.3 to 5.7.0. Since then most of the
bink e2e tests fail on every Kubernetes version with:
Value for field 'Booted' failed to satisfy matcher.
Value for field 'ImageDigest' failed to satisfy matcher.
Expected "...a256:9566a5..." to equal "...a256:0136fd..."
seed-node-image pulls the bootc image that the node disk image was
installed from (by digest) and re-pushes it to the local bink
registry with `podman push`. The tests take the "original" digest
from the local registry (E2E_NODE_IMAGE_DIGEST) and expect the
node's booted digest to match it.
podman 4 pushed the OCI manifest unchanged, so both digests were
sha256:9566a5.... podman 5 rewrites the manifest on push, so the
local registry now holds sha256:0136fd... while the VM is still
booted from sha256:9566a5.... Every test that checks the booted
digest against the original image now times out. Tests that only
check the update images still pass, because those images are built
and pushed locally and their digests are read back from the
registry.
Copy the image directly from the source registry to the local
registry with `skopeo copy --preserve-digests` so the manifest is
transferred unchanged, independent of the podman version on the
runner. The local podman tag is kept because build-update-image
builds FROM localhost:5000/node:latest.
Assisted-by: AI
Signed-off-by: Alice Frosi <afrosi@redhat.com>
HarshwardhanPatil07
enabled auto-merge (rebase)
October 27, 2026 12:11
Collaborator
Author
|
@Mergifyio backport release-0.2 |
✅ Backports have been createdDetails
|
Collaborator
Author
|
https://github.com/Mergifyio backport release-0.1 |
✅ Backports have been createdDetails
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
GitHub moved the ubuntu-latest runner from Ubuntu 24.04 to 26.04, which upgraded podman from 4.9.3 to 5.7.0. Since then most of the bink e2e tests fail on every Kubernetes version with:
seed-node-image pulls the bootc image that the node disk image was installed from (by digest) and re-pushes it to the local bink registry with
podman push. The tests take the "original" digest from the local registry (E2E_NODE_IMAGE_DIGEST) and expect the node's booted digest to match it.podman 4 pushed the OCI manifest unchanged, so both digests were sha256:9566a5.... podman 5 rewrites the manifest on push, so the local registry now holds sha256:0136fd... while the VM is still booted from sha256:9566a5.... Every test that checks the booted digest against the original image now times out. Tests that only check the update images still pass, because those images are built and pushed locally and their digests are read back from the registry.
Copy the image directly from the source registry to the local registry with
skopeo copy --preserve-digestsso the manifest is transferred unchanged, independent of the podman version on the runner. The local podman tag is kept because build-update-image builds FROM localhost:5000/node:latest.