operator-lifecycle-manager
operator-lifecycle-manager copied to clipboard
operator-sdk olm install fails with kind
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
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