Skip to content

Composefs changes, disable failing ostree test #2277

Open
Johan-Liebert1 wants to merge 3 commits into
bootc-dev:mainfrom
Johan-Liebert1:cfs-status-fix
Open

Composefs changes, disable failing ostree test #2277
Johan-Liebert1 wants to merge 3 commits into
bootc-dev:mainfrom
Johan-Liebert1:cfs-status-fix

Conversation

@Johan-Liebert1

@Johan-Liebert1 Johan-Liebert1 commented Jul 3, 2026

Copy link
Copy Markdown
Collaborator

We were writing out the ImageId in output to bootc status instead of writing the manifest digest

Fixes: bootc-dev/bink#90


etc-merge: Use symlink_metadata_optional

cap_std's metadata_optional follows symlinks and errors out if the
symlink target is outside the current root

Use symlink_metadata_optional when checking for removed files in new
etc so that symlinks that resolve to a path outside of new_etc don't
get followed

Fixes: #2278


tests: Skip test-loader-entries-source for ostree v2026.2

This test ends up failing for systems with ostree v2026.2. Disable it
until we have a fix

@bootc-bot bootc-bot Bot requested a review from henrywang July 3, 2026 08:47
@Johan-Liebert1 Johan-Liebert1 requested a review from cgwalters July 3, 2026 08:51
We were writing out the ImageId in output to `bootc status` instead of
writing the manifest digest

Fixes: bootc-dev/bink#90

Signed-off-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
Ok(img_conf)
// Compute the manifest digest
let mut hasher = Sha256::new();
hasher.update(&serde_json::to_vec(&img_conf.manifest).context("Serializing image manifest")?);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is re-serializing the manifest object. But for our purposes here, we want to be certain we end up with the same manifest digest as the remote. Are we guaranteed a match here? Ideally we'd just hash the raw manifest string we originally fetched from the remote at pull time, which IIRC is how this works on the ostree backend.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is more "legacy" code for backwards compatibility for older systems where we used to store the config + manifest in an .imginfo file. To answer your question, yes, it should, in theory, produce the same digest since we pretty much used to store the manifest and config unchanged. Now though, we do what ostree does and store the manifest digest string inside the .origin file

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To answer your question, yes, it should, in theory, produce the same digest since we pretty much used to store the manifest and config unchanged.

I think the point Jonathan is making here is that we should hash the raw data and not re-serialize.

But @Johan-Liebert1 is also right in this is just the legacy path, which I think we can schedule to remove at some point and isn't really relevant anymore.

cgwalters
cgwalters previously approved these changes Jul 6, 2026
@cgwalters cgwalters added this pull request to the merge queue Jul 6, 2026
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 6, 2026
cap_std's `metadata_optional` follows symlinks and errors out if the
symlink target is outside the current root

Use `symlink_metadata_optional` when checking for removed files in new
etc so that symlinks that resolve to a path outside of new_etc don't
get followed

Fixes: bootc-dev#2278

Signed-off-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
This test ends up failing for systems with ostree v2026.2. Disable it
until we have a fix

Signed-off-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
@Johan-Liebert1 Johan-Liebert1 added the ci/tier-1 Run CI for tier-1 OS (centos-10) only label Jul 7, 2026
@Johan-Liebert1 Johan-Liebert1 requested a review from cgwalters July 7, 2026 05:20
@Johan-Liebert1 Johan-Liebert1 changed the title cfs/status: Output manifest digest instead of image id Composefs changes, disable failing ostree test Jul 7, 2026
HarshwardhanPatil07 added a commit to HarshwardhanPatil07/bink that referenced this pull request Jul 7, 2026
Enable the rhcontainerbot/bootc COPR repo before building the rootfs
so that the composefs imageDigest fix from bootc-dev/bootc#2277 gets
picked up once it merges and COPR builds resume.

Signed-off-by: HarshwardhanPatil07 <harshpat@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci/tier-1 Run CI for tier-1 OS (centos-10) only

Projects

None yet

3 participants