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

operator-sdk olm install fails with kind

Open Stefanqn opened this issue 2 years ago • 1 comments

I get an failed to create CRDs and resources: no matches for kind "OLMConfig" in version "operators.coreos.com/v1" error when I try to install olm into a default kind cluster:

❯ kind version       
kind v0.20.0 go1.20.4 linux/amd64

❯ operator-sdk version                    
operator-sdk version: "v1.30.0", commit: "b794fe909abc1affa1f28cfb75ceaf3bf79187e6", kubernetes version: "1.26.0", go version: "go1.19.10", GOOS: "linux", GOARCH: "amd64

❯ kind create cluster
Creating cluster "kind" ...
 ✓ Ensuring node image (kindest/node:v1.27.3) 🖼
 ✓ Preparing nodes 📦  
 ✓ Writing configuration 📜 
 ✓ Starting control-plane 🕹 
 ✓ Installing CNI 🔌 
 ✓ Installing StorageClass 💾 
Set kubectl context to "kind-kind"

❯ operator-sdk olm install
INFO[0000] Fetching CRDs for version "latest"           
INFO[0000] Fetching resources for resolved version "latest" 
INFO[0001] Creating CRDs and resources                  
INFO[0001]   Creating CustomResourceDefinition "catalogsources.operators.coreos.com" 
INFO[0001]   Creating CustomResourceDefinition "clusterserviceversions.operators.coreos.com" 
INFO[0001]   Creating CustomResourceDefinition "installplans.operators.coreos.com" 
INFO[0001]   Creating CustomResourceDefinition "olmconfigs.operators.coreos.com" 
INFO[0001]   Creating CustomResourceDefinition "operatorconditions.operators.coreos.com" 
INFO[0001]   Creating CustomResourceDefinition "operatorgroups.operators.coreos.com" 
INFO[0001]   Creating CustomResourceDefinition "operators.operators.coreos.com" 
INFO[0001]   Creating CustomResourceDefinition "subscriptions.operators.coreos.com" 
INFO[0001]   Creating Namespace "olm"                   
INFO[0001]   Creating Namespace "operators"             
INFO[0001]   Creating ServiceAccount "olm/olm-operator-serviceaccount" 
INFO[0001]   Creating ClusterRole "system:controller:operator-lifecycle-manager" 
INFO[0001]   Creating ClusterRoleBinding "olm-operator-binding-olm" 
INFO[0001]   Creating OLMConfig "cluster"               
FATA[0001] Failed to install OLM version "latest": failed to create CRDs and resources: no matches for kind "OLMConfig" in version "operators.coreos.com/v1" 

❯ operator-sdk olm status --version latest
INFO[0000] Fetching CRDs for version "latest"           
INFO[0000] Fetching resources for resolved version "latest" 
INFO[0000] Successfully got OLM status for version "latest" 

NAME                                            NAMESPACE    KIND                        STATUS
system:controller:operator-lifecycle-manager                 ClusterRole                 Installed
catalogsources.operators.coreos.com                          CustomResourceDefinition    Installed
operators                                                    Namespace                   Installed
olm                                                          Namespace                   Installed
subscriptions.operators.coreos.com                           CustomResourceDefinition    Installed
operators.operators.coreos.com                               CustomResourceDefinition    Installed
operatorgroups.operators.coreos.com                          CustomResourceDefinition    Installed
operatorconditions.operators.coreos.com                      CustomResourceDefinition    Installed
olmconfigs.operators.coreos.com                              CustomResourceDefinition    Installed
installplans.operators.coreos.com                            CustomResourceDefinition    Installed
clusterserviceversions.operators.coreos.com                  CustomResourceDefinition    Installed
olm-operator-binding-olm                                     ClusterRoleBinding          Installed
olm-operator-serviceaccount                     olm          ServiceAccount              Installed
cluster                                                      OLMConfig                   olmconfigs.operators.coreos.com "cluster" not found
olm-operator                                    olm          Deployment                  deployments.apps "olm-operator" not found
catalog-operator                                olm          Deployment                  deployments.apps "catalog-operator" not found
aggregate-olm-edit                                           ClusterRole                 clusterroles.rbac.authorization.k8s.io "aggregate-olm-edit" not found
aggregate-olm-view                                           ClusterRole                 clusterroles.rbac.authorization.k8s.io "aggregate-olm-view" not found
global-operators                                operators    OperatorGroup               operatorgroups.operators.coreos.com "global-operators" not found
olm-operators                                   olm          OperatorGroup               operatorgroups.operators.coreos.com "olm-operators" not found
packageserver                                   olm          ClusterServiceVersion       clusterserviceversions.operators.coreos.com "packageserver" not found
operatorhubio-catalog                           olm          CatalogSource               catalogsources.operators.coreos.com "operatorhubio-catalog" not found

Stefanqn avatar Jul 04 '23 14:07 Stefanqn

I just realized that I can install it with

RELEASE=$(curl -s https://api.github.com/repos/operator-framework/operator-lifecycle-manager/releases/latest | jq .name -r)
curl -L https://github.com/operator-framework/operator-lifecycle-manager/releases/download/$RELEASE/install.sh | bash -s -- $RELEASE

I leave it open, so it's up to you to decide if you want to fix it in the cli tool

Stefanqn avatar Jul 04 '23 15:07 Stefanqn