kubernetesopenshiftkubernetes-operatoroperator-lifecycle-manager

Openshift 4.2 OLM - operator dependency


I have a question about openshift 4.2 operator dependency. I have 2 CRD yaml files - 1 for my own operator and another one for elastic search. When I try to install my own operator and decale a dependency with Elastic search operator (no CRDs have been created in the cluster for either of these earlier), can openshift automatically resolve dependencies and install the dependent CRDs from the yaml files first before installing the actual operator? In this scenario, if I declare a dependency on Elastic search , can openshift automatically install the Elastic search operator before installing my operator (assuming the Elasticsearch CRD resource didnt exist in the cluster) ? Or should the dependent CRD exist in the cluster for the dependency to be resolved ? Can I install both CRDs together from scratch on a brand new cluster ?


Solution

  • In your case, you should declare "required" item in your "customresourcedefinitions" section of your "CSV". Then, the openshift/OLM will resolve the dependencies and install CRD and Operator of dependencies before your Operator is installed.