-
Bug
-
Resolution: Unresolved
-
Critical
-
None
-
4.14, 4.15
-
None
-
Incidents & Support
-
False
-
-
None
-
Important
-
None
-
None
-
None
-
None
-
None
-
Customer Escalated, Customer Facing
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Description of problem:
UpdateService does not display any available upgrade versions when we mirror with architecture: multi using oc-mirror, even though the release version exists in the releases path.
Version-Release number of selected component (if applicable):
4.x (tested in 4.14 and 4.15)
How reproducible:
100%
Steps to Reproduce:
1- Mirror the OCP platform images using below imageset:
apiVersion: mirror.openshift.io/v2alpha1
kind: ImageSetConfiguration
archiveSize: 50
mirror:
platform:
architectures:
- "multi"
channels:
- name: eus-4.16
minVersion: 4.15.52
maxVersion: 4.15.52
type: ocp
graph: true
2- Confirm there is a multi arch image tag is present in the destination repo of the registry
3- Create a UpdateService instance like below (using the yaml generated by oc-mirror)
apiVersion: updateservice.operator.openshift.io/v1
kind: UpdateService
metadata:
annotations:
createdAt: Friday, 02-Jan-26 13:18:20 UTC
createdBy: oc-mirror v2
oc-mirror_version: 4.20.0-202512070314.p2.gf4775a2.assembly.stream.el9-f4775a2
name: update-service-oc-mirror
spec:
graphDataImage: registry:8443/osus-test/openshift/graph-image:latest
releases: registry:8443/osus-test/openshift/release-images
replicas: 2
status: {}
4- Once the UpdateService pods are up, try checking the available versions using the query below. It returns an empty result even though the tag 4.15.52-multi is present in the releases path.
amuhamme@amuhamme-mac ~ % while sleep 10; do HTTP_CODE="$(curl --header Accept:application/json --output /dev/stderr --write-out "%{http_code}" "${POLICY_ENGINE_GRAPH_URI}?channel=eus-4.16")"; if test "${HTTP_CODE}" -eq 200; then break; fi; echo "${HTTP_CODE}"; done % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 57 100 57 0 0 215 0 --:--:-- --:--:-- --:--:-- 215 {"version":1,"nodes":[],"edges":[],"conditionalEdges":[]}%
5- Try pushing the same image after tagging it as 4.15.52-x86_64. You should then immediately see the version listed when running the above curl command.
amuhamme@amuhamme-mac ~ % while sleep 10; do HTTP_CODE="$(curl --header Accept:application/json --output /dev/stderr --write-out "%{http_code}" "${POLICY_ENGINE_GRAPH_URI}?channel=eus-4.16")"; if test "${HTTP_CODE}" -eq 200; then break; fi; echo "${HTTP_CODE}"; done % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 611 100 611 0 0 1603 0 --:--:-- --:--:-- --:--:-- 1607 {"version":1,"nodes":[{"version":"4.15.52","payload":"registry:8443/openshift/release-images@sha256:a79f8ba4d6358e2e16de5d0623530981b2f62082e19aed0dec35d004f6762b9c","metadata":{"io.openshift.upgrades.graph.release.channels":"candidate-4.15,fast-4.15,stable-4.15,candidate-4.16,eus-4.16,fast-4.16,stable-4.16","io.openshift.upgrades.graph.release.manifestref":"sha256:a79f8ba4d6358e2e16de5d0623530981b2f62082e19aed0dec35d004f6762b9c","release.openshift.io/architecture":"multi","url":"https://access.redhat.com/errata/RHSA-2025:8299"}}],"edges":[],"conditionalEdges":[]}%
5-Also, try mirroring the platform images without specifying the architecture, as shown below. In that case, UpdateService is able to detect the version. This confirms that UpdateService does not identify the version when images are mirrored with arch: multi (may be something to do with the tag if UpdateService is identifying available versions by tag).
apiVersion: mirror.openshift.io/v2alpha1
kind: ImageSetConfiguration
archiveSize: 50
mirror:
platform:
channels:
- name: eus-4.16
minVersion: 4.15.52
maxVersion: 4.15.52
type: ocp
graph: true
Actual results:
UpdateService is not detecting available upgrade path if mirroring done with arch:multi
Expected results:
UpdateService should available upgrade path if mirroring done with arch:multi
Additional info: