Description of problem: In our CSV, we specify required CRDS - ``` spec: apiservicedefinitions: {} customresourcedefinitions: owned: ... required: - description: Represent a helm chart repository displayName: Channel kind: Channel name: channels.apps.open-cluster-management.io version: v1 - description: Represents a cluster of etcd nodes. displayName: etcd Cluster kind: EtcdCluster name: etcdclusters.etcd.database.coreos.com version: v1beta2 ... ``` When installing on 4.4 and earlier, ETCD would be able to resolve and would install using its specified default channel (singlenamespace-alpha) - https://github.com/operator-framework/community-operators/blob/master/community-operators/etcd/etcd.package.yaml#L6 Although when attempting our installation into the 4.5 Nightly builds, this behavior has changed, and ETCD is installing with channel `clusterwide-alpha`, which unfortunately breaks our install. There do not seem to be any meaningful errors in the catalog operator pods. Are there any workarounds to specify a specific channel? Also what is the reason for this behavior change, is there a reason the default channel was not selected? It is understood that the ETCD operator is deprecated, although this doesn't seem to be a bug with ETCD, rather a bug in how the default channel is being selected by OLM. Version-Release number of selected component (if applicable): OPENSHIFT_VERSION=4.5.0-0.nightly-2020-06-05-214616 How reproducible: Install ETCD Operator as a required CRD, specified in the CSV. Actual results: ETCD is installing as `clusterwide-alpha` Expected results: It is expected that ETCD will install with the channel `singlenamespace-alpha`, the default, which is the channel that OLM had automatically selected in OCP 4.4 and earlier. https://github.com/operator-framework/community-operators/blob/master/community-operators/etcd/etcd.package.yaml#L6
Note that the core issue here is that ACM 1.0.x (which uses etcd-operator) was broken due to a change in behavior to OLM on OCP 4.5. We would like to get the fix in place so that the ACM 1.0 and 1.0.1 releases will install and run correctly on OCP 4.5.
Note that this is related to #1842660
This has been observed as early as OCP 4.4.8
Hi Zachary, Never mind, I find it. Below are the test steps: Cluster version is 4.6.0-0.nightly-2020-06-23-002207 mac:~ jianzhang$ oc -n openshift-operator-lifecycle-manager exec catalog-operator-69c664c778-vpg4b -- olm --version OLM version: 0.15.1 git commit: a90b83a4bd74bd6e7a135d66b8e6474788057744 1, Create a new project called "open-cluster-management". mac:~ jianzhang$ oc new-project open-cluster-management Now using project "open-cluster-management" on server "https://api.qe-jiazha23.qe.devcluster.openshift.com:6443". You can add applications to this project with the 'new-app' command. For example, try: oc new-app ruby~https://github.com/sclorg/ruby-ex.git to build a new example application in Ruby. Or use kubectl to deploy a simple Kubernetes application: kubectl create deployment hello-node --image=gcr.io/hello-minikube-zero-install/hello-node 2, Subscribe the "Advanced Cluster Management" in it. mac:~ jianzhang$ oc get sub NAME PACKAGE SOURCE CHANNEL advanced-cluster-management advanced-cluster-management redhat-operators release-1.0 etcd-singlenamespace-alpha-community-operators-openshift-marketplace etcd community-operators singlenamespace-alpha mac:~ jianzhang$ oc get csv NAME DISPLAY VERSION REPLACES PHASE advanced-cluster-management.v1.0.1 Advanced Cluster Management for Kubernetes 1.0.1 Succeeded elasticsearch-operator.4.5.0-202006180838 Elasticsearch Operator 4.5.0-202006180838 Succeeded etcdoperator.v0.9.4 etcd 0.9.4 Succeeded mac:~ jianzhang$ oc get pods NAME READY STATUS RESTARTS AGE etcd-operator-56cf54b95b-xr9db 3/3 Running 0 103s hive-operator-7bd6cf5d98-bqcnm 1/1 Running 0 103s multicluster-operators-application-6d47bc6466-b48ql 4/4 Running 0 102s multicluster-operators-hub-subscription-76776dfd9f-57sbp 1/1 Running 0 103s multicluster-operators-standalone-subscription-78c94566c8-rwh9x 1/1 Running 0 103s multiclusterhub-operator-69bc74f65b-n9gbw 1/1 Running 0 103s mac:~ jianzhang$ oc get csv advanced-cluster-management.v1.0.1 -o yaml ... required: - description: Represents a cluster of etcd nodes. displayName: etcd Cluster kind: EtcdCluster name: etcdclusters.etcd.database.coreos.com version: v1beta2 description: "Advanced Cluster Management for Kubernetes provides the MultiCluster As we can see, it calls the default channel(singlenamespace-alpha) of the etcd-operator, it works well. LGTM, verify it.
I was able to validate that it works as expected using the latest 4.6 nightly. ETCD subscription is being properly installed w/ the default channel (singlenamespace-alpha). Thank you all!
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 (OpenShift Container Platform 4.6 GA Images), 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-2020:4196