Operator: https://github.com/kubevirt/cluster-network-addons-operator
Install OLM:
kubectl apply -f https://github.com/operator-framework/operator-lifecycle-manager/releases/download/0.10.0/crds.yaml
kubectl apply -f https://github.com/operator-framework/operator-lifecycle-manager/releases/download/0.10.0/olm.yamlCreate namespace for the operator:
kubectl create ns cluster-network-addons-operator
Create OperatorGroup:
cat <<EOF | kubectl apply -f -
apiVersion: operators.coreos.com/v1alpha2
kind: OperatorGroup
metadata:
name: cluster-network-addons-operatorgroup
namespace: cluster-network-addons-operator
EOFAdd a catalog source pointing to registry with the operator:
cat <<EOF | kubectl apply -f -
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
name: cluster-network-addons-catalogsource
namespace: olm
spec:
sourceType: grpc
image: quay.io/kubevirt/cluster-network-addons-registry:0.9.0
displayName: Cluster Network Addons
publisher: Red Hat
EOFFinally subscribe to the operator:
cat <<EOF | kubectl apply -f -
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: cluster-network-addons-subscription
namespace: cluster-network-addons-operator
spec:
channel: alpha
name: cluster-network-addons
source: cluster-network-addons-catalogsource
sourceNamespace: olm
EOFcatalog-operator pod is stuck cycling on:
time="2019-06-18T10:25:25Z" level=info msg="building connection to registry" currentSource="{olm-operators olm}" id=Ruavq source=olm-operators
time="2019-06-18T10:25:25Z" level=info msg="client hasn't yet become healthy, attempt a health check" currentSource="{olm-operators olm}" id=Ruavq source=olm-operators
olm-operator is cycling on no owned roles found:
time="2019-06-18T10:24:41Z" level=info msg="retrying cluster-network-addons-operator/cluster-network-addons-operator.0.9.0"
E0618 10:24:41.653926 1 queueinformer_operator.go:186] Sync "cluster-network-addons-operator/cluster-network-addons-operator.0.9.0" failed: no owned roles found
time="2019-06-18T10:24:41Z" level=info msg="csv in operatorgroup" csv=cluster-network-addons-operator.0.9.0 id=PBMK1 namespace=cluster-network-addons-operator opgroup=cluster-network-addons-operatorgroup phase=P
ending
time="2019-06-18T10:24:42Z" level=info msg="requirements were not met" csv=cluster-network-addons-operator.0.9.0 id=PBMK1 namespace=cluster-network-addons-operator phase=Pending
time="2019-06-18T10:24:42Z" level=info msg="couldn't ensure RBAC in target namespaces" csv=cluster-network-addons-operator.0.9.0 error="no owned roles found" id=/6C3c namespace=cluster-network-addons-operator ph
Operator's CSV status has several failing conditions, including CRD is not present and Service account does not exist. Full CSV state attached below. If I manually create CRD, service account and RBAC, it works. I though those should be created by OLM based on the CSV. Is my CSV specification wrong?