fix: resolve oauth-proxy image from cluster release payload for multi-arch support - #2190
Conversation
…-arch support quay.io/openshift/origin-oauth-proxy has no s390x manifest, blocking Che deployment on OpenShift on IBM Z. Resolve the oauth-proxy image dynamically from the cluster's openshift/oauth-proxy ImageStream at reconciliation time. The ImageStream is managed by the Cluster Version Operator and always carries an architecture-native, digest-pinned reference from the cluster's own release payload, accessible from any pod via the node-level global pull secret without additional configuration. Falls back to RELATED_IMAGE_gateway_authentication_sidecar when the ImageStream is unavailable, preserving existing behaviour for non-OCP environments. Also extends the OLM catalog build script to produce linux/s390x and linux/ppc64le manifests so the CatalogSource pod can run on those architectures. Fixes: eclipse-che/che#23895
|
Hi @swapnilsingh-ibm. Thanks for your PR. I'm waiting for a eclipse-che member to verify that this patch is reasonable to test. If it is, they should reply with Regular contributors should join the org to skip this step. Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: swapnilsingh-ibm The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
What does this PR do?
Fixes
che-gatewaydeployment on OpenShift on IBM Z (s390x) where the oauth-proxy sidecar entersImagePullBackOffbecausequay.io/openshift/origin-oauth-proxy:4.22(hardcoded asRELATED_IMAGE_gateway_authentication_sidecar) carries only alinux/amd64manifest, making Che undeployable on s390x OpenShift.The operator now resolves the oauth-proxy image dynamically at CheCluster reconciliation time from the cluster's own
openshift/oauth-proxyImageStream (namespaceopenshift). This ImageStream is managed by the Cluster Version Operator and always carries an architecture-native, digest-pinned image from the cluster's release payload — accessible from any pod via the node-level global pull secret without additional configuration.Falls back to
RELATED_IMAGE_gateway_authentication_sidecarwhen the ImageStream is unavailable, preserving existing behaviour for non-OCP environments. No RBAC changes required — the operator's ClusterRole already hasimage.openshift.io/imagestreams: get, list. Also extendsbuild/scripts/olm/release-catalog.shto producelinux/s390xandlinux/ppc64lemanifests for the OLM catalog image.Screenshot/screencast of this PR
See attached screenshots:
che-gatewayreaching4/4 Runningon s390xeclipse-chenamespaceWhat issues does this PR fix or reference?
Fixes eclipse-che/che#23895
How to test this PR?
Deploy the operator on an OpenShift cluster running on a non-amd64 architecture (s390x, ppc64le, or arm64):
OpenShift
Verify:
oc get deployment che-gateway -n eclipse-che \ -o jsonpath='{.spec.template.spec.containers[?(@.name=="oauth-proxy")].image}'Common Test Scenarios
PR Checklist
As the author of this Pull Request I made sure that:
Reviewers
Reviewers, please comment how you tested the PR when approving it.