Bug 1944266
| Summary: | [Edge] Edge Container Commits fail to push to Quay.io | |||
|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 8 | Reporter: | Ben Breard <bbreard> | |
| Component: | osbuild | Assignee: | Christian Kellner <ckellner> | |
| Status: | CLOSED ERRATA | QA Contact: | Xiaofeng Wang <xiaofwan> | |
| Severity: | high | Docs Contact: | ||
| Priority: | unspecified | |||
| Version: | 8.4 | CC: | akoutsou, atodorov, ckellner, leiwang, lmiksik, tgunders, xiaofwan, yih | |
| Target Milestone: | rc | Keywords: | Triaged | |
| Target Release: | --- | Flags: | pm-rhel:
mirror+
|
|
| Hardware: | Unspecified | |||
| OS: | Unspecified | |||
| Whiteboard: | ||||
| Fixed In Version: | osbuild-27.1-1.el8 | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | ||
| Clone Of: | ||||
| : | 1944843 (view as bug list) | Environment: | ||
| Last Closed: | 2021-05-18 15:44:03 UTC | Type: | Bug | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
| Embargoed: | ||||
| Bug Depends On: | ||||
| Bug Blocks: | 1944843 | |||
I proposed a patch to make this our containers work with quay.io at https://github.com/osbuild/osbuild/pull/622 Verified on: osbuild-selinux-27-1.20210329gita96eaf1.20210329gita96eaf1.el8.noarch python3-osbuild-27-1.20210329gita96eaf1.20210329gita96eaf1.el8.noarch osbuild-27-1.20210329gita96eaf1.20210329gita96eaf1.el8.noarch osbuild-composer-core-28.3-1.el8.x86_64 osbuild-composer-28.3-1.el8.x86_64 osbuild-ostree-27-1.20210329gita96eaf1.20210329gita96eaf1.el8.noarch osbuild-composer-worker-28.3-1.el8.x86_64 Upload to quay.io: [cloud-user@new-rhel-8-4 ~]$ skopeo copy oci-archive:e4fa3a99-11f4-4035-971c-fbc58c49725c-rhel84-container.tar docker://quay.io/xiaofwan/rhel-edge:latest Getting image source signatures Copying blob c00a33b1e994 done Copying config f4f290da2e done Writing manifest to image destination Copying config f4f290da2e [======================================] 471.0b / 471.0b Writing manifest to image destination Storing signatures [cloud-user@new-rhel-8-4 ~]$ sudo podman pull quay.io/xiaofwan/rhel-edge:latest Trying to pull quay.io/xiaofwan/rhel-edge:latest... Getting image source signatures Copying blob c00a33b1e994 done Copying config f4f290da2e done Writing manifest to image destination Storing signatures f4f290da2ecc190609189ea43003ba32d0f740f4a8e10219d5fa3c252481bd40 [cloud-user@new-rhel-8-4 ~]$ sudo podman images REPOSITORY TAG IMAGE ID CREATED SIZE quay.io/xiaofwan/rhel-edge latest f4f290da2ecc 11 minutes ago 1.25 GB Upload to docker.io [cloud-user@new-rhel-8-4 ~]$ skopeo copy --dest-creds henrywangxf:hello112233 oci-archive:e4fa3a99-11f4-4035-971c-fbc58c49725c-rhel84-container.tar docker://docker.io/henrywangxf/rhel-edge:latest Getting image source signatures Copying blob c00a33b1e994 done Copying config f4f290da2e done Writing manifest to image destination Storing signatures [cloud-user@new-rhel-8-4 ~]$ sudo podman pull docker.io/henrywangxf/rhel-edge:latest Trying to pull docker.io/henrywangxf/rhel-edge:latest... Getting image source signatures Copying blob c00a33b1e994 [--------------------------------------] 0.0b / 0.0b Copying config f4f290da2e done Writing manifest to image destination Storing signatures f4f290da2ecc190609189ea43003ba32d0f740f4a8e10219d5fa3c252481bd40 [cloud-user@new-rhel-8-4 ~]$ sudo podman images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/henrywangxf/rhel-edge latest f4f290da2ecc 16 minutes ago 1.25 GB quay.io/xiaofwan/rhel-edge latest f4f290da2ecc 16 minutes ago 1.25 GB (In reply to Ben Breard from comment #0) > Steps to Reproduce: > 1. Create an edge container commit: composer-cli compose start-ostree > [blueprint] rhel-edge-container > 2. composer-cli compose image [UUID] > 3. skopeo copy oci-archive:[uuid]-rhel84-container.tar > docker://quay.io/[account]/[repo]:latest I am late to the party but isn't this supposed to be `podman push` or `docker push` ? FTR IDK what skopeo is. Verified on python3-osbuild-27.1-1.el8.noarch osbuild-composer-worker-28.3-1.el8.x86_64 osbuild-27.1-1.el8.noarch osbuild-composer-core-28.3-1.el8.x86_64 osbuild-composer-28.3-1.el8.x86_64 osbuild-ostree-27.1-1.el8.noarch osbuild-selinux-27.1-1.el8.noarch [cloud-user@new-rhel-8-4 ~]$ sudo composer-cli compose status 7e3aa505-1472-44a5-936c-23e122081310 FINISHED Thu Apr 1 23:35:48 2021 container 0.0.1 rhel-edge-container [cloud-user@new-rhel-8-4 ~]$ sudo composer-cli compose image 7e3aa505-1472-44a5-936c-23e122081310 7e3aa505-1472-44a5-936c-23e122081310-rhel84-container.tar: 782.79 MB [cloud-user@new-rhel-8-4 ~]$ skopeo copy oci-archive:7e3aa505-1472-44a5-936c-23e122081310-rhel84-container.tar docker://quay.io/xiaofwan/rhel-edge:latest Getting image source signatures Copying blob addaa19507ad done Copying config 982d206d0f done Writing manifest to image destination Copying config 982d206d0f [======================================] 471.0b / 471.0b Writing manifest to image destination Storing signatures [cloud-user@new-rhel-8-4 ~]$ skopeo copy --dest-creds henrywangxf:hello112233 oci-archive:7e3aa505-1472-44a5-936c-23e122081310-rhel84-container.tar docker://docker.io/henrywangxf/rhel-edge:latest Getting image source signatures Copying blob addaa19507ad done Copying config 982d206d0f done Writing manifest to image destination Storing signatures [cloud-user@new-rhel-8-4 ~]$ sudo podman pull quay.io/xiaofwan/rhel-edge:latest Trying to pull quay.io/xiaofwan/rhel-edge:latest... Getting image source signatures Copying blob addaa19507ad done Copying config 982d206d0f done Writing manifest to image destination Storing signatures 982d206d0f470e1ce0f1380309efa5c2d47857c6bb1bee3c81b8ee9210b08cfc [cloud-user@new-rhel-8-4 ~]$ sudo podman pull docker://docker.io/henrywangxf/rhel-edge:latest Trying to pull docker://docker.io/henrywangxf/rhel-edge:latest... Getting image source signatures Copying blob addaa19507ad [--------------------------------------] 0.0b / 0.0b Copying config 982d206d0f done Writing manifest to image destination Storing signatures 982d206d0f470e1ce0f1380309efa5c2d47857c6bb1bee3c81b8ee9210b08cfc [cloud-user@new-rhel-8-4 ~]$ sudo podman images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/henrywangxf/rhel-edge latest 982d206d0f47 14 minutes ago 1.26 GB quay.io/xiaofwan/rhel-edge latest 982d206d0f47 14 minutes ago 1.26 GB [cloud-user@new-rhel-8-4 ~]$ sudo podman run -d --name rhel-edge --network host quay.io/xiaofwan/rhel-edge:latest 3c9a1ab24e94b5e41dadde305ee6351ea80317d75a142c09cc814292cd8c6db8 [cloud-user@new-rhel-8-4 ~]$ sudo podman ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3c9a1ab24e94 quay.io/xiaofwan/rhel-edge:latest httpd -D FOREGROU... 3 seconds ago Up 3 seconds ago rhel-edge Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (osbuild bug fix and enhancement update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2021:1825 |
Description of problem: Edge container commits work properly with podman and can be push/pulled from docker registries, but not quay.io Version-Release number of selected component (if applicable): 8.4 $ rpm -qa |grep osbuild osbuild-composer-worker-28.3-1.el8.x86_64 osbuild-composer-28.3-1.el8.x86_64 osbuild-selinux-27-1.el8.noarch python3-osbuild-27-1.el8.noarch osbuild-ostree-27-1.el8.noarch osbuild-composer-core-28.3-1.el8.x86_64 osbuild-27-1.el8.noarch How reproducible: 100% Steps to Reproduce: 1. Create an edge container commit: composer-cli compose start-ostree [blueprint] rhel-edge-container 2. composer-cli compose image [UUID] 3. skopeo copy oci-archive:[uuid]-rhel84-container.tar docker://quay.io/[account]/[repo]:latest Actual results: Getting image source signatures Copying blob 74932a9691ac [--------------------------------------] 0.0b / 0.0b Copying config 99a911abd1 [--------------------------------------] 0.0b / 358.0b Writing manifest to image destination Copying config 99a911abd1 [--------------------------------------] 0.0b / 358.0b Writing manifest to image destination FATA[0004] Uploading manifest failed, attempted the following formats: application/vnd.oci.image.manifest.v1+json(Error writing manifest "{\"schemaVersion\": 2, \"config\": {\"digest\": \"sha256:99a911abd1a4efc5308f4e2a6d45c1f1cdb633570304724d5bf4022fd4e10a35\", \"size\": 358, \"mediaType\": \"application/vnd.oci.image.config.v1+json\"}, \"layers\": [{\"digest\": \"sha256:74932a9691aca3dec1b55a0e3be93f5cd96f550b287504ab7b32ef3b44761584\", \"size\": 814126596, \"mediaType\": \"application/vnd.oci.image.layer.v1.tar+gzip\"}]}": Error uploading manifest latest to quay.io/mrguitar/edge-stage: manifest invalid: manifest invalid), application/vnd.docker.distribution.manifest.v2+json(Error writing manifest "{\"schemaVersion\":2,\"mediaType\":\"application/vnd.docker.distribution.manifest.v2+json\",\"config\":{\"mediaType\":\"application/vnd.docker.container.image.v1+json\",\"size\":358,\"digest\":\"sha256:99a911abd1a4efc5308f4e2a6d45c1f1cdb633570304724d5bf4022fd4e10a35\"},\"layers\":[{\"mediaType\":\"application/vnd.docker.image.rootfs.diff.tar.gzip\",\"size\":814126596,\"digest\":\"sha256:74932a9691aca3dec1b55a0e3be93f5cd96f550b287504ab7b32ef3b44761584\"}]}": Error uploading manifest latest to quay.io/mrguitar/edge-stage: unauthorized: access to the requested resource is not authorized), application/vnd.docker.distribution.manifest.v1+prettyjws(Error creating an updated image manifest: Cannot convert an image with 0 history entries to application/vnd.docker.distribution.manifest.v1+prettyjws), application/vnd.oci.image.index.v1+json(Error creating an updated image manifest: Unsupported conversion type: application/vnd.oci.image.index.v1+json), application/vnd.docker.distribution.manifest.list.v2+json(Error creating an updated image manifest: Unsupported conversion type: application/vnd.docker.distribution.manifest.list.v2+json), application/vnd.docker.distribution.manifest.v1+json(Error creating an updated image manifest: Cannot convert an image with 0 history entries to application/vnd.docker.distribution.manifest.v1+prettyjws) Expected results: The container image should push/pull properly from Red Hat registry properties. Additional info: This might be an underlying issue in containers/image, however it appears very simple to work around in the mean time: https://github.com/osbuild/osbuild/pull/622