operator-lifecycle-manager icon indicating copy to clipboard operation
operator-lifecycle-manager copied to clipboard

How OLM handle multiple-versions operator(with different version CRD scheme support) installation

Open suridaddy opened this issue 3 years ago • 0 comments

Type of question

About OLM implementation

Question

If one operator provides multiple versions support, and for each version, it has different version CRD used, how OLM handle the CRD when installing the operator to different namespaces with different versions? Will OLM has a way to always keep latest CRD version installed?

For example,

  • install operator v1, and it contains CRD with v1 and v1beta1
  • then, install operator v1beta1, which contains CRD with v1beta1 only

When step 2 occus, how OLM handle the CRD? Will it(OLM) compute that the existing CRD contains v1beta1 version, so, skip the CRD(v1beta1) installation?

Environment

  • operator-lifecycle-manager version:
[root@aries-bastion ~]# oc get clusterversion
NAME      VERSION   AVAILABLE   PROGRESSING   SINCE   STATUS
version   4.8.26    True        False         73d     Cluster version is 4.8.26
[root@aries-bastion ~]# oc version
Client Version: 4.6.27
Server Version: 4.8.26
Kubernetes Version: v1.21.6+bb8d50a

suridaddy avatar Mar 21 '22 16:03 suridaddy