Actions
Issue #3122
closedconfig layer is served gzip-compressed to docker client
Start date:
Due date:
Estimated time:
Severity:
2. Medium
Version - Docker:
3.1.0
Platform Release:
2.15.0
Target Release - Docker:
OS:
Triaged:
Yes
Groomed:
No
Sprint Candidate:
No
Tags:
Pulp 2
Sprint:
Sprint 28
Quarter:
Description
When I try to import a docker image generated by skopeo, that happens to contain a config layer, pulp will compress it. That seems to make docker unhappy.
Details: In plugins/importers/upload.py, ProcessManifest.get_models()
gets passed a manifest object, and manifest.config_layer
gets added as a Blob object.
Later, in AddUnits.process_main
, blobs are being iterated over and gzip-compressed.
I believe this is what makes docker unhappy when I try to pull the image from crane:
docker pull registry.example.com:443/test-docker:latest
Trying to pull repository registry.example.com:443/test-docker ...
sha256:c71a68cc5bcd74b2ac0f8418c61230a9f2ee6ac470091f7a10a5bbe26a2fd388: Pulling from registry.example.com:443/test-docker
97ca462ad9ee: Pulling fs layer
776eeafa9b09: Pulling fs layer
60058d98fabf: Pulling fs layer
ce8c08c957d4: Waiting
885734936e35: Waiting
ee161b7aa244: Waiting
da7a176f74a7: Waiting
2d0f9340ea22: Waiting
2c0937f8af97: Waiting
error pulling image configuration: image config verification failed for digest sha256:302b355390efa687ba03ae2bdea881ca2a140da6278a7d948f07c00260aec3ca
Actions
v2 unit import: do not compress blob layers
Skopeo produces compressed layers already. Double-compressing them invalidates the SHA checksum.
closes #3122