zstd:chunked issues
- Vorherrschende Sprache
- Rust
- Sterne
- 2.3k
- Forks
- 230
- Ø Merge
- 3 T. 3 Std.
- Gemergte PRs (30 T.)
- 36
Beschreibung
This took awhile to track down. I'm going to continue investigating but I wanted to document what I've found so far.
The failure happens when attempting a `bootc install to-disk` using an image built from a base image with at least one extra layer, e.g.
```
FROM quay.io/centos-bootc/centos-bootc-dev:stream9
RUN dnf install -y tmux
```
If the image is built locally `bootc install to-disk` works correctly. The failure happens when pushing the image to a repo (only tested with quay.io), clearing out the image from local storage via `podman system prune --all`, then running `bootc install to-disk`. Here's example output of the failure:
```
[test@fedora-39 ~]$ sudo podman run --pid=host --network=host --privileged --security-opt label=type:unconfined_t -v /var/lib/containers:/var/lib/containers -v .:/output -v /dev:/dev -e RUST_LOG=debug quay.io/ckyrouac/bootc-lldb bootc install to-disk --via-loopback --generic-image --skip-fetch-check /output/test.raw
Trying to pull quay.io/ckyrouac/bootc-lldb:latest...
Getting image source signatures
...
ERROR Installing to disk: Creating ostree deployment: Performing deployment: Importing: Parsing layer blob sha256:5d35bfe747b2c76a01310e69a14daa90baf352a11f990f73d4ce3e1917668719: Failed to invoke skopeo proxy method FinishPipe: remote error: corrupted blob, expecting sha256:dede69b8181937a545b87707fbe4ace2ee9936459ffd43b7ba957324861992a0
```
So, the OpenImage call to the skopeo proxy is failing.
The latest version of containers-common found in Fedora39/40 repos sets `pull_options.enable_partial_images=true` in `/usr/share/containers/storage.conf`. This is the change that started causing this error. Toggling `enable_partial_images` to false resolves the error. I'm not familiar enough with this stack to know the root cause of this yet. I'll continue digging but I'm sure someone else would be able to track this down a lot quicker if you think it's urgent.
Beitragsleitfaden
Rechercherichtung
Reproduziere den Fehler mit dem gezeigten bootc install to-disk-Befehl und einem Image, das eine zusätzliche Schicht enthält, nachdem es in eine Registry gepusht und der lokale Speicher bereinigt wurde. Beginne beim OpenImage-Aufruf an den skopeo-Proxy und vergleiche das Verhalten mit aktiviertem und deaktiviertem containers-common pull_options.enable_partial_images. Als abgeschlossen gilt die Identifizierung der Ursache und die Wiederherstellung einer erfolgreichen Installation, ohne vorauszusetzen, dass diese Option deaktiviert ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- rust
- Bereich
- infrastructure
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100