Thanks, it looks like the helm chart creates RBAC directly rather than relying on the `cbopcfg` approach: https://github.com/couchbase-partners/helm-charts/blob/master/charts/couchbase-operator/templates/operator-deployment.yaml
This therefore means it has missed the addition of the `finalizers` change from K8S-2205 and required for the extra admission controller used by OCP: https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
This admission controller also protects the access to metadata.ownerReferences[x].blockOwnerDeletion of an object, so that only users with "update" permission to the finalizers subresource of the referenced owner can change it.
This is borne about by a quick test using the latest version (2.2.005):
helm upgrade --install --debug --wait test couchbase/couchbase-operator --set install.couchbaseCluster=false
kubectl describe role test-couchbase-operator
...
services [] [] [get list watch create update delete patch]
couchbaseclusters.couchbase.com [] [] [get list watch update]
events [] [] [list create update]
...
With an update to the RBAC on the helm chart and repeating it we get:
services [] [] [get list watch create update delete patch]
couchbaseclusters.couchbase.com/finalizers [] [] [get list watch update]
couchbaseclusters.couchbase.com [] [] [get list watch update]
events [] [] [list create update]
This should resolve the issue. As a workaround a manual edit of the role to add the couchbaseclusters.couchbase.com/finalizers resource permissions would also do it.
Done by contributor.