operator-lifecycle-manager
operator-lifecycle-manager copied to clipboard
Issues installing operators on ARM clusters
Bug Report
In a comment pointed out in https://github.com/operator-framework/operator-lifecycle-manager/issues/2823#issuecomment-1469943243, OLM is still referencing the upstream-opm-builder image instead of opm. This is causing issues installing operators on ARM64 based Kubernetes clusters.
What did you do? Attempted to install MetalLB operator on my ARM64 based cluster.
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: my-metallb-operator
namespace: operators
spec:
channel: beta
name: metallb-operator
source: operatorhubio-catalog
sourceNamespace: olm
What did you expect to see? No errors when installing operators.
What did you see instead? Under which circumstances? The kubernetes job controlled spawned during installation returned CPU architecture related errors.
Environment
- operator-lifecycle-manager version:
v0.24.0
- Kubernetes version information:
Client Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.4+k3s1", GitCommit:"8d0255af07e95b841952563253d27b0d10bd72f0", GitTreeState:"clean", BuildDate:"2023-04-20T00:33:13Z", GoVersion:"go1.19.8", Compiler:"gc", Platform:"linux/arm64"}
Kustomize Version: v4.5.7
Server Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.4+k3s1", GitCommit:"8d0255af07e95b841952563253d27b0d10bd72f0", GitTreeState:"clean", BuildDate:"2023-04-20T00:33:13Z", GoVersion:"go1.19.8", Compiler:"gc", Platform:"linux/arm64"}
- Kubernetes cluster kind: Self hosted using ARM cluster
Possible Solution Workaround was identified by @agelwarg 's comment https://github.com/operator-framework/operator-lifecycle-manager/issues/2823#issuecomment-1469943243. Append two additional args in the deployment/catalog-operator in the olm namespace.
workaround:
- args:
- --namespace
- olm
- --configmapServerImage=quay.io/operator-framework/configmap-operator-registry:latest
- --util-image
- quay.io/operator-framework/olm@sha256:f9ea8cef95ac9b31021401d4863711a5eec904536b449724e0f00357548a31e7
- --set-workload-user-id=true
- --opmImage
- quay.io/operator-framework/opm
original:
- args:
- --namespace
- olm
- --configmapServerImage=quay.io/operator-framework/configmap-operator-registry:latest
- --util-image
- quay.io/operator-framework/olm@sha256:f9ea8cef95ac9b31021401d4863711a5eec904536b449724e0f00357548a31e7
- --set-workload-user-id=true
Additional context Add any other context about the problem here.
It seems like PR https://github.com/operator-framework/operator-lifecycle-manager/pull/2890, which shipped with v0.25.0
should resolve this issue.
@acelinkio could you please try with v0.25.0 and confirm? Thank you
@acelinkio I believe this issue is resolved in v0.25.0
and above. Are you still encountering this issue?