Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

container: Drop async_compression + support zstd:chunked #622

Merged
merged 2 commits into from Apr 29, 2024

Conversation

cgwalters
Copy link
Member

@cgwalters cgwalters commented Apr 29, 2024

This is basically just a workaround for Nullus157/async-compression#271

However, in practice I think we may as well just use
a native blocking tokio thread here.

There's a lot of shenanigans going on though because
we're wrapping sync I/O with async and then back to sync
because the tar code we're using is still sync.

What would be a lot better is to move the compression to be
inline with the sync tar parsing, but that would require some
API changes and more code motion.

Closes: #608

This is basically just a workaround for Nullus157/async-compression#271

However, in practice I think we may as well just use
a native blocking tokio thread here.

There's a lot of shenanigans going on though because
we're wrapping sync I/O with async and then back to sync
because the tar code we're using is still sync.

What would be a lot better is to move the compression to be
inline with the sync tar parsing, but that would require some
API changes and more code motion.
Copy link
Member

@travier travier left a comment

Choose a reason for hiding this comment

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

I'm not knowledgeable enough in Rust to fully understand this but the tests passing are a good look here. LGTM

@travier
Copy link
Member

travier commented Apr 29, 2024

I'll test that e2e with rpm-ostree.

@travier
Copy link
Member

travier commented Apr 29, 2024

I've pushed quay.io/travier-redhat/fcos-test:stable-zstd-chuncked using:

$ skopeo copy --dest-compress-format zstd:chunked docker://quay.io/fedora/fedora-coreos:stable docker://quay.io/travier-redhat/fcos-test:stable-zstd-chuncked

I get a "mixed" gzip/zstd-chunked image:

$ skopeo inspect docker://quay.io/travier-redhat/fcos-test:stable-zstd-chuncked
{
    "Name": "quay.io/travier-redhat/fcos-test",
    "Digest": "sha256:58b18a255570e282932a128dbec23b3ed74c457925ecfeefafcdada85b37e88f",
    "RepoTags": [
        "stable.bkp",
        "stable",
        "testing.bkp",
        "40",
        "latest",
        "stable-zstd-chuncked",
        "testing"
    ],
    "Created": "2024-04-19T18:34:05Z",
    "DockerVersion": "",
    "Labels": {
        "containers.bootc": "1",
        "coreos-assembler.image-config-checksum": "b46108b5727db273386822ac689f1974aac8b9c0e531d9b4c04ecc36c485748d",
        "coreos-assembler.image-input-checksum": "1a9c2e46349965fad7bf27f992e5b231b2a228b196ba2ad72239d7d40d78cffc",
        "fedora-coreos.stream": "stable",
        "org.opencontainers.image.revision": "f1d5c32b4914719ae5911bedb73184d6f4396a03",
        "org.opencontainers.image.source": "https://github.com/coreos/fedora-coreos-config",
        "org.opencontainers.image.version": "39.20240407.3.0",
        "ostree.bootable": "true",
        "ostree.commit": "4f5997a887d92f19f6ce564069511115138916a37d7b30e2bfd027c5e5158e63",
        "ostree.final-diffid": "sha256:12787d84fa137cd5649a9005efe98ec9d05ea46245fdc50aecb7dd007f2035b1",
        "ostree.linux": "6.8.4-200.fc39.x86_64",
        "rpmostree.inputhash": "0b875927bf7f43c92a8fba2e536b80ee03b9912d23557ae904032e7211f6ed56"
    },
    "Architecture": "amd64",
    "Os": "linux",
    "Layers": [
        "sha256:58963480cb2f8b442a09758b3571ba3665bade3e1fc64bb91ba67e6f0fbf24c4",
        "sha256:939482b2526638347661a5d3af3376b15e18a3b1f7abd04a1f86aad46a9a1703",
        "sha256:2e27911a32aafbdddb02801203db108676a0e12d3e0d8482644f7a22e58c93e0",
        "sha256:38969a1b3a0f394e1edc9c81f2093b84a7fe191d1fa4fde0a8b21f253d5717f2",
        "sha256:409f9ee820dc8942785bb7ecfb8448b379ef8fe7a26c5355ad19b702e69d0ea6",
        "sha256:6360516a6f25fec38daa0ef58ad29cf75115b23362acf353a5478f3256aa824d",
        "sha256:c2177a0df4754af841ad38e9b9e3bc6a97d7d7927c19be67afb4eed1f1721d85",
        "sha256:aa1b9f3a6c6c65b018ec83f7567083485d575d98df420ce672b7912d9f0f25ba",
        "sha256:d16b438ffeb0422cdf45ba01cf97b47508fe4d2a39b595fe92ae347804f1fce3",
        "sha256:40a5e09fa60cc8e4e0c62e2364926e74ea1033f2fcdcb4d7122b5712440d2f59",
        "sha256:93a16eb35217a82c2d74cda2660c8283a3a6f1deac6b48da5539587572adbd8b",
        "sha256:e367ebf7d1f246214d6bbb183cb551be6914bcb5bdb59df7276cc41adfee4de5",
        "sha256:254bdd4578c55319a7324e78fc25c5fae3139b6fd6c61f9ef7f701df57c84958",
        "sha256:4f684c468ec24dd64ffdf0c03a90403a2595b85d518f5e570b028c493d5acc83",
        "sha256:66f65b4983420d8e9379c0abf7f1791492739dc17de7fec8d1a39ff909d329f0",
        "sha256:6cf37c2cf86b4823e0ac755dab18844abd1bd79c8365e2dda105bff99f599211",
        "sha256:1fa1adb5fbd995e4a1231dba30cd39bf1d2125196ae7377783cddda3d77d520b",
        "sha256:78e604add2cc149f9fa3e3f8dfa114965c6ace372296701b2c5be9942f9d4c3d",
        "sha256:131eade9056fbc012f0a1a634ad9f8b16fceebd6cf40fde108c57217ff95895d",
        "sha256:f7efd46e4d737e6e8f0cac707a567264be13901eac65521b09cd460bea0075ed",
        "sha256:746360da8b3cd997792081656c4ca93a4c5bfdd58692a9c16fc44df217041ac6",
        "sha256:db4f1835cb57d3c4eec5f3fffaf7704fb2e90804821611b933af3507b62eb09d",
        "sha256:9fa70b41f0a9cbab95468e8dfc1c7add032dfc0449410556e2123b3736003597",
        "sha256:6137129db13fa53943037a3a4e6769233c805e71bc88b6e1ef5f3fad06ac20d5",
        "sha256:82bc108c394156bbbee0acf5558dfd38eb722e7ee5ae0cdcccc153e9142701e7",
        "sha256:f08c73af92e19db8f7156915435b0352c8132012e9183fc35bb1770583d051b4",
        "sha256:1ed6beaeca2c027f91a9eae5a0dfc296f4065a484419c7063a047664474215e2",
        "sha256:ce9e0416c513716a0be7c0c9f81abea5f543a325a754afbaaecad1210668b3f2",
        "sha256:97ad2cd2078ef6dab7e2f2de452c02de1fc19348da8b2e30701f4097d11d2b93",
        "sha256:2bdfa939a631a72ff65d6298e46f257ac3d9e64c9d1e72642ff4c8924d5be262",
        "sha256:65f85102b6dc56323e6a6aafe2837c20a5491672abd57823f9a26f6cd99d1a65",
        "sha256:59a9a653ceb2ae19c81fe0210a69b4060f0449b62b84783a60168a3afb6d840c",
        "sha256:797752aa9ba0e56bed26c66254c988cbba56fbbe064c6c92a73abf5a306a9162",
        "sha256:e00a7ed2e2dbdf8de39477c1bc3eb3c5b4ed192185804ac480f15b3eaad959c0",
        "sha256:bd5e9dba95493bd8bd2954dd0ab45173e27ecb43bf5a4ff45fd2333615bbc33d",
        "sha256:7b59a028ce9f83a25306d0a0ecbea4285e1c84a760bd10ecc59f2b91b51b7cb1",
        "sha256:31d8a9b213ce294747d94b903da76a36a8ba26b24e523d5d12fc28c0bdd1dbd0",
        "sha256:4e73f7efadda69a0478b314e3049cbab4011f97c431920678469d42255c2a8cc",
        "sha256:ccf3489f434e4a2754cafd779c3340c4bcea9b0006fdca16672d851e9c1f775a",
        "sha256:6927dda6b054651fb4135a62bba6ccedb3ca5da8e74d7770588a82af768fc0ef",
        "sha256:82006e93dcec8dfcacacdcb853ba0720c7b92619ad27ad37407c5c832d0a0344",
        "sha256:1bf2cefa9b8ad54c50577aa8424422cdea3701d46f8f92cf547a17e96568629f",
        "sha256:29e6e31baefacfa94819a54da6233311287724605855f3c9ce7ada8f9b3f0199",
        "sha256:a0707b7f2ac55baaacd6a07dd0fad10939e67cab2e149d843240ae67a28160f3",
        "sha256:b629686cc63205a1ccced2718eb356af44a95ee25554f1bfa6daf30484a720b4",
        "sha256:df01cf293b834eba4e9582b3fd50cba4c2838a29d197746cba0f01316813dcb1",
        "sha256:62dc175be53f8776519d048dec1d9ec80d627253113c68d5caddd462a0180301",
        "sha256:ce2c7e83b662056e0786a29ae8d42de7432e0c1ee3f225df126b7461336dc01b",
        "sha256:532d6a9eff1d9a1d33c6d98c6ca598689dc07b20d0404add04b10e79a5c1ce82",
        "sha256:22ed3e8dd8bc394308e2fab1294d091577c224f7ddda3c0c5f35e367ed74c618",
        "sha256:5f9d3dcf5281c5f6512471366be68bee46c2485eddf4fd1887da6b240712be5f"
    ],
    "LayersData": [
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+zstd",
            "Digest": "sha256:58963480cb2f8b442a09758b3571ba3665bade3e1fc64bb91ba67e6f0fbf24c4",
            "Size": 3095126,
            "Annotations": {
                "io.github.containers.zstd-chunked.manifest-checksum": "sha256:0ab05954f26edf1bfead18fe6e32a9a39b6613f6f750fe76f7312d04e457bbbc",
                "io.github.containers.zstd-chunked.manifest-position": "2099493:206050:2167343:1",
                "io.github.containers.zstd-chunked.tarsplit-checksum": "sha256:afc5d005d2f8c114f3739e12e4914a006dd33fc431ce1f42c02010a6f9af6940",
                "io.github.containers.zstd-chunked.tarsplit-position": "2305551:789503:13183196"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+gzip",
            "Digest": "sha256:939482b2526638347661a5d3af3376b15e18a3b1f7abd04a1f86aad46a9a1703",
            "Size": 50099112,
            "Annotations": {
                "ostree.components": "containerd"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+gzip",
            "Digest": "sha256:2e27911a32aafbdddb02801203db108676a0e12d3e0d8482644f7a22e58c93e0",
            "Size": 37399037,
            "Annotations": {
                "ostree.components": "moby-engine"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+gzip",
            "Digest": "sha256:38969a1b3a0f394e1edc9c81f2093b84a7fe191d1fa4fde0a8b21f253d5717f2",
            "Size": 25502243,
            "Annotations": {
                "ostree.components": "containernetworking-plugins"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+gzip",
            "Digest": "sha256:409f9ee820dc8942785bb7ecfb8448b379ef8fe7a26c5355ad19b702e69d0ea6",
            "Size": 61320182,
            "Annotations": {
                "ostree.components": "kernel-modules"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+gzip",
            "Digest": "sha256:6360516a6f25fec38daa0ef58ad29cf75115b23362acf353a5478f3256aa824d",
            "Size": 19314060,
            "Annotations": {
                "ostree.components": "podman"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+gzip",
            "Digest": "sha256:c2177a0df4754af841ad38e9b9e3bc6a97d7d7927c19be67afb4eed1f1721d85",
            "Size": 47668019,
            "Annotations": {
                "ostree.components": "linux-firmware"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+gzip",
            "Digest": "sha256:aa1b9f3a6c6c65b018ec83f7567083485d575d98df420ce672b7912d9f0f25ba",
            "Size": 39811584,
            "Annotations": {
                "ostree.components": "nvidia-gpu-firmware"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+gzip",
            "Digest": "sha256:d16b438ffeb0422cdf45ba01cf97b47508fe4d2a39b595fe92ae347804f1fce3",
            "Size": 35071313,
            "Annotations": {
                "ostree.components": "kernel-modules-core"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+gzip",
            "Digest": "sha256:40a5e09fa60cc8e4e0c62e2364926e74ea1033f2fcdcb4d7122b5712440d2f59",
            "Size": 14837546,
            "Annotations": {
                "ostree.components": "libicu"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+gzip",
            "Digest": "sha256:93a16eb35217a82c2d74cda2660c8283a3a6f1deac6b48da5539587572adbd8b",
            "Size": 10837707,
            "Annotations": {
                "ostree.components": "skopeo"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+gzip",
            "Digest": "sha256:e367ebf7d1f246214d6bbb183cb551be6914bcb5bdb59df7276cc41adfee4de5",
            "Size": 8446686,
            "Annotations": {
                "ostree.components": "ignition"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+zstd",
            "Digest": "sha256:254bdd4578c55319a7324e78fc25c5fae3139b6fd6c61f9ef7f701df57c84958",
            "Size": 9317840,
            "Annotations": {
                "io.github.containers.zstd-chunked.manifest-checksum": "sha256:fa7c7f663bd860b0ba790b014a36ae6c23d3bd130e228ebf8f5b90e4f83383b3",
                "io.github.containers.zstd-chunked.manifest-position": "9196024:74472:535917:1",
                "io.github.containers.zstd-chunked.tarsplit-checksum": "sha256:f2a0f7f6b138edc19302198c5f58ab7933164e47bc6a8d8715f981d4f22f0f06",
                "io.github.containers.zstd-chunked.tarsplit-position": "9270504:47264:1011661"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+gzip",
            "Digest": "sha256:4f684c468ec24dd64ffdf0c03a90403a2595b85d518f5e570b028c493d5acc83",
            "Size": 16384419,
            "Annotations": {
                "ostree.components": "kernel-core"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+gzip",
            "Digest": "sha256:66f65b4983420d8e9379c0abf7f1791492739dc17de7fec8d1a39ff909d329f0",
            "Size": 24195504,
            "Annotations": {
                "ostree.components": "atheros-firmware"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+gzip",
            "Digest": "sha256:6cf37c2cf86b4823e0ac755dab18844abd1bd79c8365e2dda105bff99f599211",
            "Size": 8922796,
            "Annotations": {
                "ostree.components": "git-core"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+gzip",
            "Digest": "sha256:1fa1adb5fbd995e4a1231dba30cd39bf1d2125196ae7377783cddda3d77d520b",
            "Size": 7034051,
            "Annotations": {
                "ostree.components": "samba-client-libs"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+gzip",
            "Digest": "sha256:78e604add2cc149f9fa3e3f8dfa114965c6ace372296701b2c5be9942f9d4c3d",
            "Size": 18713775,
            "Annotations": {
                "ostree.components": "amd-gpu-firmware"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+gzip",
            "Digest": "sha256:131eade9056fbc012f0a1a634ad9f8b16fceebd6cf40fde108c57217ff95895d",
            "Size": 4581826,
            "Annotations": {
                "ostree.components": "glib2"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+zstd",
            "Digest": "sha256:f7efd46e4d737e6e8f0cac707a567264be13901eac65521b09cd460bea0075ed",
            "Size": 5366797,
            "Annotations": {
                "io.github.containers.zstd-chunked.manifest-checksum": "sha256:4b41d60d39656a9ae18a35a53f420086080eace872ea2c37f13cb73f1d7a8960",
                "io.github.containers.zstd-chunked.manifest-position": "5340213:15223:133368:1",
                "io.github.containers.zstd-chunked.tarsplit-checksum": "sha256:e649095e0aca3a0b4398298df82375ed608d310877c9e07c748d76066d033214",
                "io.github.containers.zstd-chunked.tarsplit-position": "5355444:11281:337257"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+gzip",
            "Digest": "sha256:746360da8b3cd997792081656c4ca93a4c5bfdd58692a9c16fc44df217041ac6",
            "Size": 4845542,
            "Annotations": {
                "ostree.components": "systemd"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+gzip",
            "Digest": "sha256:db4f1835cb57d3c4eec5f3fffaf7704fb2e90804821611b933af3507b62eb09d",
            "Size": 12581861,
            "Annotations": {
                "ostree.components": "mt7xxx-firmware"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+gzip",
            "Digest": "sha256:9fa70b41f0a9cbab95468e8dfc1c7add032dfc0449410556e2123b3736003597",
            "Size": 4430964,
            "Annotations": {
                "ostree.components": "coreos-installer"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+gzip",
            "Digest": "sha256:6137129db13fa53943037a3a4e6769233c805e71bc88b6e1ef5f3fad06ac20d5",
            "Size": 2571650,
            "Annotations": {
                "ostree.components": "systemd-udev"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+gzip",
            "Digest": "sha256:82bc108c394156bbbee0acf5558dfd38eb722e7ee5ae0cdcccc153e9142701e7",
            "Size": 4559568,
            "Annotations": {
                "ostree.components": "netavark"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+gzip",
            "Digest": "sha256:f08c73af92e19db8f7156915435b0352c8132012e9183fc35bb1770583d051b4",
            "Size": 3651081,
            "Annotations": {
                "ostree.components": "coreutils-common"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+gzip",
            "Digest": "sha256:1ed6beaeca2c027f91a9eae5a0dfc296f4065a484419c7063a047664474215e2",
            "Size": 3865556,
            "Annotations": {
                "ostree.components": "runc"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+gzip",
            "Digest": "sha256:ce9e0416c513716a0be7c0c9f81abea5f543a325a754afbaaecad1210668b3f2",
            "Size": 3149056,
            "Annotations": {
                "ostree.components": "NetworkManager-libnm"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+gzip",
            "Digest": "sha256:97ad2cd2078ef6dab7e2f2de452c02de1fc19348da8b2e30701f4097d11d2b93",
            "Size": 984206,
            "Annotations": {
                "ostree.components": "file-libs"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+zstd",
            "Digest": "sha256:2bdfa939a631a72ff65d6298e46f257ac3d9e64c9d1e72642ff4c8924d5be262",
            "Size": 3296066,
            "Annotations": {
                "io.github.containers.zstd-chunked.manifest-checksum": "sha256:0f2c1a6c1304686e8a515d1adc411fa663185a8ecf121e173954c6579280a46c",
                "io.github.containers.zstd-chunked.manifest-position": "2942863:112468:1008621:1",
                "io.github.containers.zstd-chunked.tarsplit-checksum": "sha256:2c21d87a852d4791c9d82b5412206f45d23914533179c8d683d767484610fa94",
                "io.github.containers.zstd-chunked.tarsplit-position": "3055339:240655:4206672"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+gzip",
            "Digest": "sha256:65f85102b6dc56323e6a6aafe2837c20a5491672abd57823f9a26f6cd99d1a65",
            "Size": 9498998,
            "Annotations": {
                "ostree.components": "glibc,glibc-gconv-extra,grub2-tools"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+gzip",
            "Digest": "sha256:59a9a653ceb2ae19c81fe0210a69b4060f0449b62b84783a60168a3afb6d840c",
            "Size": 1648624,
            "Annotations": {
                "ostree.components": "glibc-common,libsmbclient,rpm-libs,samba-common-libs,systemd-pam,systemd-resolved"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+zstd",
            "Digest": "sha256:797752aa9ba0e56bed26c66254c988cbba56fbbe064c6c92a73abf5a306a9162",
            "Size": 8437599,
            "Annotations": {
                "io.github.containers.zstd-chunked.manifest-checksum": "sha256:a3596046cfec11d21b7cdff86aac91db71e4ddd2f9d7e21aec4289a62d65f8a4",
                "io.github.containers.zstd-chunked.manifest-position": "8227124:73470:623827:1",
                "io.github.containers.zstd-chunked.tarsplit-checksum": "sha256:cc3e2c9e6bc1798d0bc23db40152bdca8c93f41367048d432dfb492dab17dec0",
                "io.github.containers.zstd-chunked.tarsplit-position": "8300602:136925:2618595"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+zstd",
            "Digest": "sha256:e00a7ed2e2dbdf8de39477c1bc3eb3c5b4ed192185804ac480f15b3eaad959c0",
            "Size": 53400260,
            "Annotations": {
                "io.github.containers.zstd-chunked.manifest-checksum": "sha256:b60d133214737a5149e5905c2a66227dd7585a719e963396551c50f14ce3c2c4",
                "io.github.containers.zstd-chunked.manifest-position": "52915987:224060:1582008:1",
                "io.github.containers.zstd-chunked.tarsplit-checksum": "sha256:2536f588bdae1ba6c51e623352928fe6b281439e496a113e0ead8538db125041",
                "io.github.containers.zstd-chunked.tarsplit-position": "53140055:260133:4592090"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+zstd",
            "Digest": "sha256:bd5e9dba95493bd8bd2954dd0ab45173e27ecb43bf5a4ff45fd2333615bbc33d",
            "Size": 4646096,
            "Annotations": {
                "io.github.containers.zstd-chunked.manifest-checksum": "sha256:fef412cc75ed39b632419bb2f6d4c4cbdd7b27e3a31a5df8bcf0e5c208c0e572",
                "io.github.containers.zstd-chunked.manifest-position": "4304466:113675:990633:1",
                "io.github.containers.zstd-chunked.tarsplit-checksum": "sha256:a8dbcd8aae07cb4763419bc89fa4478b7f4eff224bef71c4f508e63a3b0e52e6",
                "io.github.containers.zstd-chunked.tarsplit-position": "4418149:227875:4138986"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+zstd",
            "Digest": "sha256:7b59a028ce9f83a25306d0a0ecbea4285e1c84a760bd10ecc59f2b91b51b7cb1",
            "Size": 2650083,
            "Annotations": {
                "io.github.containers.zstd-chunked.manifest-checksum": "sha256:48e2e300a6f11f8b30960923b3c3ac71df94acb80ff94ea79a9cfe3ebada6da6",
                "io.github.containers.zstd-chunked.manifest-position": "2519716:41976:390734:1",
                "io.github.containers.zstd-chunked.tarsplit-checksum": "sha256:71b2cca8519861636070c139fc4434dd23451090a350b05677031ead6aca9624",
                "io.github.containers.zstd-chunked.tarsplit-position": "2561700:88311:1698192"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+zstd",
            "Digest": "sha256:31d8a9b213ce294747d94b903da76a36a8ba26b24e523d5d12fc28c0bdd1dbd0",
            "Size": 2723775,
            "Annotations": {
                "io.github.containers.zstd-chunked.manifest-checksum": "sha256:76be36b8bb6a2162a3542e5c8f227cbfd0b8b44704d4acde8287b873c98667e5",
                "io.github.containers.zstd-chunked.manifest-position": "2538498:55008:520024:1",
                "io.github.containers.zstd-chunked.tarsplit-checksum": "sha256:be9fccad5084bb0d3b3022158f437fdadda2b47f4250f7ecdcefb9706cc3a233",
                "io.github.containers.zstd-chunked.tarsplit-position": "2593514:130189:2422639"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+zstd",
            "Digest": "sha256:4e73f7efadda69a0478b314e3049cbab4011f97c431920678469d42255c2a8cc",
            "Size": 2631602,
            "Annotations": {
                "io.github.containers.zstd-chunked.manifest-checksum": "sha256:c5cc928de8e1061377f3a725ae677d778acc16f4b4d8ed72724790f7d7485766",
                "io.github.containers.zstd-chunked.manifest-position": "2491104:47891:416531:1",
                "io.github.containers.zstd-chunked.tarsplit-checksum": "sha256:5cb2551a2c48ec363f59df71e8d7ca4bc91fe9d6ed1a1db3277a1d5f2fcc39eb",
                "io.github.containers.zstd-chunked.tarsplit-position": "2539003:92527:1695891"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+zstd",
            "Digest": "sha256:ccf3489f434e4a2754cafd779c3340c4bcea9b0006fdca16672d851e9c1f775a",
            "Size": 4954815,
            "Annotations": {
                "io.github.containers.zstd-chunked.manifest-checksum": "sha256:660e881196178964a9ae793aa4e039e04c6994d3aed4ff96c9160aff7bf91fd5",
                "io.github.containers.zstd-chunked.manifest-position": "4623733:83873:1110485:1",
                "io.github.containers.zstd-chunked.tarsplit-checksum": "sha256:2a228f4f7588474321e641ec003935e625f78390c9bc5b01dde337c6c50d1d67",
                "io.github.containers.zstd-chunked.tarsplit-position": "4707614:247129:5043425"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+zstd",
            "Digest": "sha256:6927dda6b054651fb4135a62bba6ccedb3ca5da8e74d7770588a82af768fc0ef",
            "Size": 617096,
            "Annotations": {
                "io.github.containers.zstd-chunked.manifest-checksum": "sha256:0b3eb1c7220c7ea802314bc292fec3db592ebe65b6f9fcab9a53dfd2db36b202",
                "io.github.containers.zstd-chunked.manifest-position": "592487:7894:98831:1",
                "io.github.containers.zstd-chunked.tarsplit-checksum": "sha256:0b239e4505513e131d959f4336c3a92ab4a7abdc75e2e0fec70486f4630ee569",
                "io.github.containers.zstd-chunked.tarsplit-position": "600389:16635:422129"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+zstd",
            "Digest": "sha256:82006e93dcec8dfcacacdcb853ba0720c7b92619ad27ad37407c5c832d0a0344",
            "Size": 14496369,
            "Annotations": {
                "io.github.containers.zstd-chunked.manifest-checksum": "sha256:02bc55f51280014740f7da0bed26a9c40cc33273303f562be4c05167b5a3a52e",
                "io.github.containers.zstd-chunked.manifest-position": "13920120:195489:1686246:1",
                "io.github.containers.zstd-chunked.tarsplit-checksum": "sha256:fe330b138935227e0193a5d6c3e3a88f3b25207ec22b9d439ed5bccba8ab86f1",
                "io.github.containers.zstd-chunked.tarsplit-position": "14115617:380680:6966979"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+zstd",
            "Digest": "sha256:1bf2cefa9b8ad54c50577aa8424422cdea3701d46f8f92cf547a17e96568629f",
            "Size": 13139417,
            "Annotations": {
                "io.github.containers.zstd-chunked.manifest-checksum": "sha256:9b6a299005be8f67ed4d0da4a8d8f22e6b24ffb0e1fb6497070b35d527e4876e",
                "io.github.containers.zstd-chunked.manifest-position": "12356548:274130:2234144:1",
                "io.github.containers.zstd-chunked.tarsplit-checksum": "sha256:5424c93f24b69d585290aa8c27dc4a3ea1ac4695e468b0591fa9caca67be3c96",
                "io.github.containers.zstd-chunked.tarsplit-position": "12630686:508659:9054336"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+zstd",
            "Digest": "sha256:29e6e31baefacfa94819a54da6233311287724605855f3c9ce7ada8f9b3f0199",
            "Size": 23153072,
            "Annotations": {
                "io.github.containers.zstd-chunked.manifest-checksum": "sha256:791fa2755351c8cf71ab8366746ac4d5f08a6369c84848ac09fa17979d25f079",
                "io.github.containers.zstd-chunked.manifest-position": "22766774:152368:1169598:1",
                "io.github.containers.zstd-chunked.tarsplit-checksum": "sha256:8e4ef7ddc25dbd7b4a59ef2ba2ff693b407360c1de7a44adbed3499623a21030",
                "io.github.containers.zstd-chunked.tarsplit-position": "22919150:233850:4139227"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+gzip",
            "Digest": "sha256:a0707b7f2ac55baaacd6a07dd0fad10939e67cab2e149d843240ae67a28160f3",
            "Size": 13636903,
            "Annotations": {
                "ostree.components": "bash,fuse-libs,gmp,isns-utils-libs,jemalloc,jq,libevent,libsepol,libtirpc,microcode_ctl,net-tools,passwd,pcre2,squashfs-tools,ssh-key-dir"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+zstd",
            "Digest": "sha256:b629686cc63205a1ccced2718eb356af44a95ee25554f1bfa6daf30484a720b4",
            "Size": 5860146,
            "Annotations": {
                "io.github.containers.zstd-chunked.manifest-checksum": "sha256:b3ac3428c04292e19434664f7321a5d8998bd4f9e6264bdd4d5f524e5023c04f",
                "io.github.containers.zstd-chunked.manifest-position": "5616043:85036:752001:1",
                "io.github.containers.zstd-chunked.tarsplit-checksum": "sha256:2894b0c3580821daaee66e04f4dc7602d532b0296483e35f4e35206bd619c905",
                "io.github.containers.zstd-chunked.tarsplit-position": "5701087:158987:2940666"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+zstd",
            "Digest": "sha256:df01cf293b834eba4e9582b3fd50cba4c2838a29d197746cba0f01316813dcb1",
            "Size": 3760272,
            "Annotations": {
                "io.github.containers.zstd-chunked.manifest-checksum": "sha256:5af80a61a757c6a8196079d7a14644b2b3506cba9c05b96afdd4a0b0e2672a6a",
                "io.github.containers.zstd-chunked.manifest-position": "3523973:73390:674600:1",
                "io.github.containers.zstd-chunked.tarsplit-checksum": "sha256:0dbcbdbf1c7aa0e02cbc3aab94fd4d19acd93db21a0d33f0e7b98b0397140279",
                "io.github.containers.zstd-chunked.tarsplit-position": "3597371:162829:3078487"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+zstd",
            "Digest": "sha256:62dc175be53f8776519d048dec1d9ec80d627253113c68d5caddd462a0180301",
            "Size": 7249088,
            "Annotations": {
                "io.github.containers.zstd-chunked.manifest-checksum": "sha256:11501b6e4f18fb054c091b71c42ac5c150afa9932711517f60446f81825cca8f",
                "io.github.containers.zstd-chunked.manifest-position": "6468077:221318:2353198:1",
                "io.github.containers.zstd-chunked.tarsplit-checksum": "sha256:1adbf75701c580f7dd999b4204353dffba42b5833821d1a6cf86bb5e53f39c58",
                "io.github.containers.zstd-chunked.tarsplit-position": "6689403:559613:10446375"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+zstd",
            "Digest": "sha256:ce2c7e83b662056e0786a29ae8d42de7432e0c1ee3f225df126b7461336dc01b",
            "Size": 2190430,
            "Annotations": {
                "io.github.containers.zstd-chunked.manifest-checksum": "sha256:14e873e242ff9cb761eff46709c04c73c1b9d5b5cb816030cdd2a373e47196af",
                "io.github.containers.zstd-chunked.manifest-position": "2080401:39151:343544:1",
                "io.github.containers.zstd-chunked.tarsplit-checksum": "sha256:da3b487ab0c5aab0fbb00d391eb360a38bd6bddc2847fb7973c6d3d1f1df08b6",
                "io.github.containers.zstd-chunked.tarsplit-position": "2119560:70798:1364320"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+zstd",
            "Digest": "sha256:532d6a9eff1d9a1d33c6d98c6ca598689dc07b20d0404add04b10e79a5c1ce82",
            "Size": 6225034,
            "Annotations": {
                "io.github.containers.zstd-chunked.manifest-checksum": "sha256:497e84fce530e5d49e3fc7a3a3474ac5c43d345a0059c31a9c080746225193cb",
                "io.github.containers.zstd-chunked.manifest-position": "6040465:68797:571915:1",
                "io.github.containers.zstd-chunked.tarsplit-checksum": "sha256:6f4c998b43b4b1fd026e7ea7280a1cd7cf7e6c5aa9e15b1c75e3c970c9e18a28",
                "io.github.containers.zstd-chunked.tarsplit-position": "6109270:115692:2145481"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+zstd",
            "Digest": "sha256:22ed3e8dd8bc394308e2fab1294d091577c224f7ddda3c0c5f35e367ed74c618",
            "Size": 105026515,
            "Annotations": {
                "io.github.containers.zstd-chunked.manifest-checksum": "sha256:210b81ced70c5940f7a9ba7c8f350fcaf3d74dd2fb9098487123fbec452a177e",
                "io.github.containers.zstd-chunked.manifest-position": "104046406:324278:2993795:1",
                "io.github.containers.zstd-chunked.tarsplit-checksum": "sha256:4bedaa634027284134b2fcb5944ed6bf6cc87812f7a156f1be25e0769fc42416",
                "io.github.containers.zstd-chunked.tarsplit-position": "104370692:655751:12153300"
            }
        },
        {
            "MIMEType": "application/vnd.oci.image.layer.v1.tar+gzip",
            "Digest": "sha256:5f9d3dcf5281c5f6512471366be68bee46c2485eddf4fd1887da6b240712be5f",
            "Size": 2340,
            "Annotations": {
                "ostree.components": ""
            }
        }
    ],
    "Env": null
}

And this gives me:

Apr 29 10:52:14 localhost.localdomain sudo[1466]:     core : TTY=pts/0 ; PWD=/var/home/core ; USER=root ; COMMAND=/usr/bin/rpm-ostree rebase ostree-unverifie>
Apr 29 10:52:14 localhost.localdomain audit[1466]: USER_CMD pid=1466 uid=1000 auid=1000 ses=1 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg=>
Apr 29 10:52:14 localhost.localdomain audit[1466]: CRED_REFR pid=1466 uid=1000 auid=1000 ses=1 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg>
Apr 29 10:52:14 localhost.localdomain sudo[1466]: pam_unix(sudo:session): session opened for user root(uid=0) by core(uid=1000)
Apr 29 10:52:14 localhost.localdomain audit[1466]: USER_START pid=1466 uid=1000 auid=1000 ses=1 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 ms>
Apr 29 10:52:14 localhost.localdomain rpm-ostree[1461]: client(id:cli dbus:1.27 unit:session-1.scope uid:0) added; new total=1
Apr 29 10:52:14 localhost.localdomain rpm-ostree[1461]: Loaded sysroot
Apr 29 10:52:14 localhost.localdomain rpm-ostree[1461]: Locked sysroot
Apr 29 10:52:14 localhost.localdomain rpm-ostree[1461]: Initiated txn Rebase for client(id:cli dbus:1.27 unit:session-1.scope uid:0): /org/projectatomic/rpmo>
Apr 29 10:52:14 localhost.localdomain kernel: EXT4-fs (vda3): re-mounted bd05c5bf-5622-4b51-8d34-5b7ac0cbbc07 r/w. Quota mode: none.
Apr 29 10:52:14 localhost.localdomain rpm-ostree[1461]: Process [pid: 1469 uid: 0 unit: session-1.scope] connected to transaction progress
Apr 29 10:52:14 localhost.localdomain rpm-ostree[1461]: Fetching ostree-unverified-registry:quay.io/travier-redhat/fcos-test:stable-zstd-chuncked
Apr 29 10:52:15 localhost.localdomain systemd[1]: systemd-hostnamed.service: Deactivated successfully.
Apr 29 10:52:15 localhost.localdomain audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=systemd-ho>
Apr 29 10:52:15 localhost.localdomain audit: BPF prog-id=102 op=UNLOAD
Apr 29 10:52:15 localhost.localdomain audit: BPF prog-id=101 op=UNLOAD
Apr 29 10:52:15 localhost.localdomain audit: BPF prog-id=100 op=UNLOAD
Apr 29 10:52:16 localhost.localdomain rpm-ostree[1461]: layers already present: 22; layers needed: 29 (449.9 MB)
Apr 29 10:52:16 localhost.localdomain rpm-ostree[1461]: Fetching ostree chunk sha256:409f9ee820dc (61.3 MB)
Apr 29 10:52:18 localhost.localdomain rpm-ostree[1461]: Fetched ostree chunk sha256:409f9ee820dc
Apr 29 10:52:18 localhost.localdomain rpm-ostree[1461]: Fetching ostree chunk sha256:6360516a6f25 (19.3 MB)
Apr 29 10:52:22 localhost.localdomain rpm-ostree[1461]: Fetched ostree chunk sha256:6360516a6f25
Apr 29 10:52:22 localhost.localdomain rpm-ostree[1461]: Fetching ostree chunk sha256:d16b438ffeb0 (35.1 MB)
Apr 29 10:52:24 localhost.localdomain rpm-ostree[1461]: Fetched ostree chunk sha256:d16b438ffeb0
Apr 29 10:52:16 localhost.localdomain rpm-ostree[1461]: Fetching ostree chunk sha256:409f9ee820dc (61.3 MB)
Apr 29 10:52:18 localhost.localdomain rpm-ostree[1461]: Fetched ostree chunk sha256:409f9ee820dc
Apr 29 10:52:18 localhost.localdomain rpm-ostree[1461]: Fetching ostree chunk sha256:6360516a6f25 (19.3 MB)
Apr 29 10:52:22 localhost.localdomain rpm-ostree[1461]: Fetched ostree chunk sha256:6360516a6f25
Apr 29 10:52:22 localhost.localdomain rpm-ostree[1461]: Fetching ostree chunk sha256:d16b438ffeb0 (35.1 MB)
Apr 29 10:52:24 localhost.localdomain rpm-ostree[1461]: Fetched ostree chunk sha256:d16b438ffeb0
Apr 29 10:52:24 localhost.localdomain rpm-ostree[1461]: Fetching ostree chunk sha256:93a16eb35217 (10.8 MB)
Apr 29 10:52:27 localhost.localdomain rpm-ostree[1461]: Fetched ostree chunk sha256:93a16eb35217
Apr 29 10:52:27 localhost.localdomain rpm-ostree[1461]: Fetching ostree chunk sha256:254bdd4578c5 (9.3 MB)
Apr 29 10:52:48 localhost.localdomain rpm-ostree[1461]: Fetched ostree chunk sha256:254bdd4578c5
Apr 29 10:52:48 localhost.localdomain rpm-ostree[1461]: Fetching ostree chunk sha256:4f684c468ec2 (16.4 MB)
Apr 29 10:52:49 localhost.localdomain rpm-ostree[1461]: Fetched ostree chunk sha256:4f684c468ec2
Apr 29 10:52:49 localhost.localdomain rpm-ostree[1461]: Fetching ostree chunk sha256:f7efd46e4d73 (5.4 MB)
Apr 29 10:52:51 localhost.localdomain rpm-ostree[1461]: Fetched ostree chunk sha256:f7efd46e4d73
Apr 29 10:52:51 localhost.localdomain rpm-ostree[1461]: Fetching ostree chunk sha256:2bdfa939a631 (3.3 MB)
Apr 29 10:52:53 localhost.localdomain rpm-ostree[1461]: Fetched ostree chunk sha256:2bdfa939a631
Apr 29 10:52:53 localhost.localdomain rpm-ostree[1461]: Fetching ostree chunk sha256:65f85102b6dc (9.5 MB)
Apr 29 10:52:53 localhost.localdomain rpm-ostree[1461]: Txn Rebase on /org/projectatomic/rpmostree1/fedora_coreos failed: Importing: Unencapsulating base: Fa>
Apr 29 10:52:53 localhost.localdomain rpm-ostree[1461]: Unlocked sysroot
Apr 29 10:52:53 localhost.localdomain rpm-ostree[1461]: Process [pid: 1469 uid: 0 unit: session-1.scope] disconnected from transaction progress
Apr 29 10:52:53 localhost.localdomain rpm-ostree[1461]: client(id:cli dbus:1.27 unit:session-1.scope uid:0) vanished; remaining=0
Apr 29 10:52:53 localhost.localdomain sudo[1466]: pam_unix(sudo:session): session closed for user root
Apr 29 10:52:53 localhost.localdomain audit[1466]: USER_END pid=1466 uid=1000 auid=1000 ses=1 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg=>
Apr 29 10:52:53 localhost.localdomain audit[1466]: CRED_DISP pid=1466 uid=1000 auid=1000 ses=1 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg>
Apr 29 10:52:59 localhost.localdomain audit[1502]: USER_ACCT pid=1502 uid=1000 auid=1000 ses=1 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg>
Apr 29 10:52:59 localhost.localdomain sudo[1502]:     core : TTY=pts/0 ; PWD=/var/home/core ; USER=root ; COMMAND=/usr/bin/rpm-ostree rebase ostree-unverifie>
Apr 29 10:52:59 localhost.localdomain audit[1502]: USER_CMD pid=1502 uid=1000 auid=1000 ses=1 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg=>
Apr 29 10:52:59 localhost.localdomain audit[1502]: CRED_REFR pid=1502 uid=1000 auid=1000 ses=1 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg>
Apr 29 10:52:59 localhost.localdomain sudo[1502]: pam_unix(sudo:session): session opened for user root(uid=0) by core(uid=1000)
Apr 29 10:52:59 localhost.localdomain audit[1502]: USER_START pid=1502 uid=1000 auid=1000 ses=1 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 ms>
Apr 29 10:52:59 localhost.localdomain rpm-ostree[1461]: client(id:cli dbus:1.29 unit:session-1.scope uid:0) added; new total=1
Apr 29 10:52:59 localhost.localdomain rpm-ostree[1461]: Loaded sysroot
Apr 29 10:52:59 localhost.localdomain rpm-ostree[1461]: Locked sysroot
Apr 29 10:52:59 localhost.localdomain rpm-ostree[1461]: Initiated txn Rebase for client(id:cli dbus:1.29 unit:session-1.scope uid:0): /org/projectatomic/rpmo>
Apr 29 10:52:59 localhost.localdomain rpm-ostree[1461]: Process [pid: 1505 uid: 0 unit: session-1.scope] connected to transaction progress
Apr 29 10:52:59 localhost.localdomain rpm-ostree[1461]: Fetching ostree-unverified-registry:quay.io/travier-redhat/fcos-test:stable-zstd-chuncked
Apr 29 10:52:59 localhost.localdomain rpm-ostree[1461]: Txn Rebase on /org/projectatomic/rpmostree1/fedora_coreos failed: Creating importer: Failed to invoke>
Apr 29 10:52:59 localhost.localdomain rpm-ostree[1461]: Unlocked sysroot
Apr 29 10:52:59 localhost.localdomain rpm-ostree[1461]: Process [pid: 1505 uid: 0 unit: session-1.scope] disconnected from transaction progress
Apr 29 10:52:59 localhost.localdomain rpm-ostree[1461]: client(id:cli dbus:1.29 unit:session-1.scope uid:0) vanished; remaining=0
$ sudo rpm-ostree rebase ostree-unverified-image:registry:quay.io/travier-redhat/fcos-test:stable-zstd-chuncked

@travier
Copy link
Member

travier commented Apr 29, 2024

Hum, OK this is weird, I've re-tried it and it worked! So looking good.

Looks like it was only a quay.io infra flake. So this LGTM.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add support for zstd:chunked
2 participants