You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
What steps did you take and what happened:
By following the docs, all operators and operands along w/ the OperandRequest objects will be deployed in the odlm namespace.
I was trying to install those stuff to another namespace, then figured out that the below settings need to be modified at first:
As above, I append a second namespace (default) after odlm. Apart from that, I found that I have to manually apply some RBAC settings, otherwise, ODLM will report error, such as:
E0717 09:13:32.918450 1 reflector.go:138] pkg/mod/k8s.io/[email protected]/tools/cache/reflector.go:167: Failed to watch *v1alpha1.Subscription: failed to list *v1alpha1.Subscription: subscriptions.operators.coreos.com is forbidden: User "system:serviceaccount:odlm:operand-deployment-lifecycle-manager" cannot list resource "subscriptions" in API group "operators.coreos.com" in the namespace "default"
What did you expect to happen:
Is there a way to setup RBAC automatically when create OperandRequest in a namespace other than the default one?
If we directly deploy ODLM by following this doc here, ODLM does not have enough permission to automatically extend its RBAC to other namespaces.
There are two ways to do that.
Install the foundational services operator including ODLM by following this docs here on OCP. those operators will coordinate with each other to manage the RBAC. Therefore, when you create ODLM's resources in other namespace. It will extend the permission of ODLM to that specific namespace.
Still deploy ODLM alone on Kubernetes, but this time we will manually grant the ODLM the cluster permission to manage all the resources. I will update the docs here later, indicating how to deploy ODLM in cluster scope which could easily deploy resources in other namespace by ODLM.
/kind bug
What steps did you take and what happened:
By following the docs, all operators and operands along w/ the OperandRequest objects will be deployed in the
odlm
namespace.I was trying to install those stuff to another namespace, then figured out that the below settings need to be modified at first:
As above, I append a second namespace (
default
) afterodlm
. Apart from that, I found that I have to manually apply some RBAC settings, otherwise, ODLM will report error, such as:E0717 09:13:32.918450 1 reflector.go:138] pkg/mod/k8s.io/[email protected]/tools/cache/reflector.go:167: Failed to watch *v1alpha1.Subscription: failed to list *v1alpha1.Subscription: subscriptions.operators.coreos.com is forbidden: User "system:serviceaccount:odlm:operand-deployment-lifecycle-manager" cannot list resource "subscriptions" in API group "operators.coreos.com" in the namespace "default"
What did you expect to happen:
Is there a way to setup RBAC automatically when create OperandRequest in a namespace other than the default one?
Environment:
kubectl version
): v1.21.2/etc/os-release
): RHELThe text was updated successfully, but these errors were encountered: