Bug 2030532
| Summary: | Update Service release image digest mismatch, because Artifactory doesn't support Accept q weighting | ||
|---|---|---|---|
| Product: | OpenShift Container Platform | Reporter: | Lalatendu Mohanty <lmohanty> |
| Component: | OpenShift Update Service | Assignee: | Vadim Rutkovsky <vrutkovs> |
| OpenShift Update Service sub component: | operand | QA Contact: | Yang Yang <yanyang> |
| Status: | CLOSED ERRATA | Docs Contact: | Kathryn Alexander <kalexand> |
| Severity: | high | ||
| Priority: | unspecified | CC: | cdevaraj, hsabhnan, jiajliu, kalexand, lmohanty, vrutkovs, wking, yanyang |
| Version: | 4.6 | ||
| Target Milestone: | --- | ||
| Target Release: | 4.9.z | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: |
Cause: Artifactory registry was not accepting multiple q-style weights in Accept header
Consequence: Artifactory could not be used as a source of openshift release images for OSUS
Fix: OSUS now uses single q weight in Accept header
Result: Artifactory can be used as a source of openshift images
|
Story Points: | --- |
| Clone Of: | 2010497 | Environment: | |
| Last Closed: | 2022-02-25 00:52:55 UTC | Type: | --- |
| 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: | 2010497 | ||
| Bug Blocks: | |||
|
Description
Lalatendu Mohanty
2021-12-09 04:18:26 UTC
https://github.com/openshift/cincinnati/pull/642 is already merged. So moving this bug to modified. Harshil was kind to setup a test registry for QE. I assume it's hosted on Artifactory Cloud so I don't setup proxy on my client. However I cannot push images to it. # docker build -t harshiltest1.jfrog.io/graph-data:4.9.z . Sending build context to Docker daemon 8.192kB Step 1/3 : FROM registry.access.redhat.com/ubi8/ubi:8.1 8.1: Pulling from ubi8/ubi ee2244abc66f: Pull complete befb03b11956: Pull complete Digest: sha256:1f0e6e1f451ff020b3b44c1c4c34d85db5ffa0fc1bb0490d6a32957a7a06b67f Status: Downloaded newer image for registry.access.redhat.com/ubi8/ubi:8.1 ---> 8121a9f5303b Step 2/3 : RUN curl -L -o cincinnati-graph-data.tar.gz https://github.com/openshift/cincinnati-graph-data/archive/master.tar.gz ---> Running in 0c5191e69d1e % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 139 100 139 0 0 1263 0 --:--:-- --:--:-- --:--:-- 1263 100 64413 0 64413 0 0 161k 0 --:--:-- --:--:-- --:--:-- 827k Removing intermediate container 0c5191e69d1e ---> efcdaea8a626 Step 3/3 : CMD exec /bin/bash -c "tar xvzf cincinnati-graph-data.tar.gz -C /var/lib/cincinnati/graph-data/ --strip-components=1" ---> Running in 96d204d5fe71 Removing intermediate container 96d204d5fe71 ---> ffa7c90e0cfa Successfully built ffa7c90e0cfa Successfully tagged harshiltest1.jfrog.io/graph-data:4.9.z Good, image was built w/o error # docker login harshiltest1.jfrog.io Username: testuser Password: WARNING! Your password will be stored unencrypted in /root/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded Also good, login w/o error # docker push harshiltest1.jfrog.io/graph-data:4.9.z The push refers to repository [harshiltest1.jfrog.io/graph-data] c66a9634de12: Retrying in 1 second 668db11eda93: Retrying in 1 second d3ada5af5602: Retrying in 1 second unknown: Not Found Push does not work. # docker version Client: Docker Engine - Community Version: 20.10.12 API version: 1.41 Go version: go1.16.12 Git commit: e91ed57 Built: Mon Dec 13 11:46:14 2021 OS/Arch: linux/amd64 Context: default Experimental: true Server: Docker Engine - Community Engine: Version: 20.10.12 API version: 1.41 (minimum version 1.12) Go version: go1.16.12 Git commit: 459d0df Built: Mon Dec 13 11:43:59 2021 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.4.12 GitCommit: 7b11cfaabd73bb80907dd23182b9347b4245eb5d runc: Version: 1.0.2 GitCommit: v1.0.2-0-g52b36a2 docker-init: Version: 0.19.0 GitCommit: de40ad0 # journalctl -u docker.service 18.195104130Z" level=error msg="Upload failed, retrying: unknown: Not Found" 18.475333580Z" level=error msg="Upload failed, retrying: unknown: Not Found" 18.479715734Z" level=error msg="Upload failed, retrying: unknown: Not Found" 23.480335301Z" level=error msg="Upload failed, retrying: unknown: Not Found" 23.766186978Z" level=error msg="Upload failed, retrying: unknown: Not Found" 23.766190088Z" level=error msg="Upload failed, retrying: unknown: Not Found" 33.817376357Z" level=error msg="Upload failed, retrying: unknown: Not Found" 34.060363770Z" level=error msg="Upload failed, retrying: unknown: Not Found" 34.060392443Z" level=error msg="Upload failed, retrying: unknown: Not Found" 49.111508137Z" level=error msg="Upload failed, retrying: unknown: Not Found" 49.353605262Z" level=error msg="Upload failed, retrying: unknown: Not Found" 49.353765954Z" level=error msg="Upload failed, retrying: unknown: Not Found" 09.415012555Z" level=error msg="Upload failed: unknown: Not Found" No useful information. Image mirror failed either. # oc adm release mirror --from=quay.io/openshift-release-dev/ocp-release:4.10.0-rc.0-x86_64 --to=harshiltest1.jfrog.io/openshift-release-dev/ocp-release --to-release-image=harshiltest1.jfrog.io/ocp-release:4.10.0-rc.0-x86_64 W0207 23:09:38.571603 24907 helpers.go:151] Defaulting of registry auth file to "${HOME}/.docker/config.json" is deprecated. The default will be switched to podman config locations in the future version. info: Mirroring 162 images to harshiltest1.jfrog.io/openshift-release-dev/ocp-release ... W0207 23:09:43.517983 24907 helpers.go:151] Defaulting of registry auth file to "${HOME}/.docker/config.json" is deprecated. The default will be switched to podman config locations in the future version. harshiltest1.jfrog.io/ ocp-release blobs: ......... phase 0: harshiltest1.jfrog.io ocp-release blobs=7 mounts=0 manifests=1 shared=5 phase 1: harshiltest1.jfrog.io openshift-release-dev/ocp-release blobs=330 mounts=5 manifests=161 shared=5 info: Planning completed in 31.48s error: unable to upload blob sha256:68f6d1a341be900df562221d56c8efe1ab85c0eab9012a74197205462064a164 to harshiltest1.jfrog.io/ocp-release: unknown: Not Found error: unable to upload blob sha256:51649edd5f73a60b91572b959092363e149564088a4dfe0cf051cb21890a2fa9 to harshiltest1.jfrog.io/ocp-release: unknown: Not Found error: unable to upload blob sha256:7e1d2e7fb1091b0180b9a961f003a5eb6426cdf2d8a2074e32da3b7ecf4670bd to harshiltest1.jfrog.io/ocp-release: unknown: Not Found error: unable to upload blob sha256:35eb91f032560459de8bd20afb4a7c39b5bbdbdb46397aa7d5f5c7c1388f09d3 to harshiltest1.jfrog.io/ocp-release: unknown: Not Found error: unable to upload blob sha256:eac1b95df832dc9f172fd1f07e7cb50c1929b118a4249ddd02c6318a677b506a to harshiltest1.jfrog.io/ocp-release: unknown: Not Found error: unable to push quay.io/openshift-release-dev/ocp-release: failed to upload blob sha256:47aa3ed2034c4f27622b989b26c06087de17067268a19a1b3642a7e2686cd1a3: unknown: Not Found error: unable to push quay.io/openshift-release-dev/ocp-release: failed to upload blob sha256:c86b61739e8f57235c673c9c98d5e0c6526305bf91a7bd8834b6202f1f236b08: unknown: Not Found info: Mirroring completed in 590ms (0B/s) error: one or more errors occurred while uploading images Any clue why it's happening? With Harshil's help, changed the tag to harshiltest1.jfrog.io/default-docker-local/graph-data:4.9.z and push works, as well as image mirror. # oc adm release mirror --from=quay.io/openshift-release-dev/ocp-release:4.9.19-x86_64 --to=harshiltest1.jfrog.io/default-docker-local/openshift-release-dev/ocp-release --to-release-image=harshiltest1.jfrog.io/default-docker-local/ocp-release:4.9.19-x86_64 # oc adm release mirror --from=quay.io/openshift-release-dev/ocp-release:4.10.0-rc.0-x86_64 --to=harshiltest1.jfrog.io/default-docker-local/openshift-release-dev/ocp-release --to-release-image=harshiltest1.jfrog.io/default-docker-local/ocp-release:4.10.0-rc.0-x86_64 Verifying with cincinnati-container-v4.9.0-8, cincinnati-operator-bundle-container-v4.9.0-11, cincinnati-operator-container-v4.9.0-9 # oc get all NAME READY STATUS RESTARTS AGE pod/service-5fff979d6f-7s9w6 2/2 Running 0 88s pod/updateservice-operator-7c5cdf5b69-zcs2k 1/1 Running 0 13h NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/service-graph-builder ClusterIP 172.30.80.140 <none> 8080/TCP,9080/TCP 88s service/service-policy-engine ClusterIP 172.30.15.66 <none> 80/TCP,9081/TCP 88s service/updateservice-operator-metrics ClusterIP 172.30.67.215 <none> 8443/TCP 13h NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/service 1/1 1 1 88s deployment.apps/updateservice-operator 1/1 1 1 13h NAME DESIRED CURRENT READY AGE replicaset.apps/service-5fff979d6f 1 1 1 88s replicaset.apps/updateservice-operator-7c5cdf5b69 1 1 1 13h NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD route.route.openshift.io/service-policy-engine-route service-policy-engine-route-openshift-update-service.apps.yanyang0208a.qe.gcp.devcluster.openshift.com service-policy-engine policy-engine edge/None None # curl -skH 'Accept:application/json' 'https://service-policy-engine-route-openshift-update-service.apps.yanyang0208a.qe.gcp.devcluster.openshift.com/api/upgrades_info/v1/graph?channel=candidate-4.10' | jq . { "nodes": [ { "version": "4.10.0-rc.0", "payload": "harshiltest1.jfrog.io/default-docker-local/ocp-release@sha256:be7ff17230199b5c0ee9cd48a932ceb06145ced8fec1c7d31bfe2e1a36746830", "metadata": { "io.openshift.upgrades.graph.release.channels": "candidate-4.10", "io.openshift.upgrades.graph.release.manifestref": "sha256:be7ff17230199b5c0ee9cd48a932ceb06145ced8fec1c7d31bfe2e1a36746830" } }, { "version": "4.9.19", "payload": "harshiltest1.jfrog.io/default-docker-local/ocp-release@sha256:79dc491573156e7413c9b39d06b5c10d01f7eee26779cb34aed3d1b93158508c", "metadata": { "io.openshift.upgrades.graph.release.channels": "candidate-4.10,candidate-4.9", "io.openshift.upgrades.graph.release.manifestref": "sha256:79dc491573156e7413c9b39d06b5c10d01f7eee26779cb34aed3d1b93158508c", "url": "https://access.redhat.com/errata/RHBA-2022:0340" } } ], "edges": [] } # oc adm release info quay.io/openshift-release-dev/ocp-release:4.10.0-rc.0-x86_64 | grep Digest Digest: sha256:be7ff17230199b5c0ee9cd48a932ceb06145ced8fec1c7d31bfe2e1a36746830 # oc adm release info quay.io/openshift-release-dev/ocp-release:4.9.19-x86_64 | grep Digest Digest: sha256:79dc491573156e7413c9b39d06b5c10d01f7eee26779cb34aed3d1b93158508c So, OSUS has the same release image digest with quay. Moving it to verified state. 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 (RHEA: OSUS 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-2022:0681 |