blue-build/cli

fix: ostree-rs-ext does not yet support zstd:chunked

prydom opened this issue · 7 comments

I get the following error when attempting to update to an image built with the main branch of bluebuild with this pull request #112:

❯ sudo rpm-ostree upgrade
Pulling manifest: ostree-image-signed:docker://ghcr.io/prydom/fedora-kinoite-laptop:latest
Importing: ostree-image-signed:docker://ghcr.io/prydom/fedora-kinoite-laptop:latest (digest: sha256:c1fbde6bf865d2f7d864f2ccb2d9009f66a1f5d9c182cf2ed63f36924c540587)
ostree chunk layers already present: 65
custom layers needed: 20 (1.3 GB)
error: Importing: Unhandled layer type: application/vnd.oci.image.layer.v1.tar+zstd

This is because ostree-rs-ext does not yet support zstd:chunked, ostreedev/ostree-rs-ext#608. I suggest that you change the default --compression-format to gzip until that change is written and lands in Fedora.

bootc will fix this in containers/bootc#215 but also doesn't yet support zstd:chunked.

Thanks for that catch! I'll push a fix later today.

Ok pushed out a quick fix to set gzip to be the default.

b515dcc

I do have a question. What version of Fedora are you running? My build seems to be fine with zstd on Fedora 39.

Fedora Kinoite Rawhide. You can see I'm having other issues here as well. #137

I do have a question. What version of Fedora are you running? My build seems to be fine with zstd on Fedora 39.

Also, did you check you actually had any zstd layers in your image (e.g. layers weren't reused)? It's pretty unequivocal from the code the support isn't there yet; the code would be added here https://github.com/ostreedev/ostree-rs-ext/blob/8d972c19b0a8410b5a74de6375a8b157eecc48bd/lib/src/container/unencapsulate.rs#L196.

ZSTD:chunked support got merged in ostree-rs-ext

ostreedev/ostree-rs-ext#622