rook: External Cluster: NodeFencing creation fails due to limited permission for client.healthchecker user
Is this a bug report or feature request?
- Bug Report
When running rbd status ... command to get the watcher to block the IP creating network fence CR, the command fails since the user client.healthchecker doesn’t have permission to run these types of commands.
Deviation from expected behavior: NetworkFence creation fails in external mode Expected behavior: NetworkFence creation should pass in external mode.
How to reproduce it (minimal and precise):
File(s) to submit:
- Cluster CR (custom resource), typically called
cluster.yaml, if necessary
Logs to submit:
-
Operator’s logs, if necessary
-
Crashing pod(s) logs, if necessary
To get logs, use
kubectl -n <namespace> logs <pod name>When pasting logs, always surround them with backticks or use theinsert codebutton from the Github UI. Read GitHub documentation if you need help.
Cluster Status to submit:
-
Output of krew commands, if necessary
To get the health of the cluster, use
kubectl rook-ceph healthTo get the status of the cluster, usekubectl rook-ceph ceph statusFor more details, see the Rook Krew Plugin
Environment:
- OS (e.g. from /etc/os-release):
- Kernel (e.g.
uname -a): - Cloud provider or hardware configuration:
- Rook version (use
rook versioninside of a Rook Pod): - Storage backend version (e.g. for ceph do
ceph -v): - Kubernetes version (use
kubectl version): - Kubernetes cluster type (e.g. Tectonic, GKE, OpenShift):
- Storage backend status (e.g. for Ceph use
ceph healthin the Rook Ceph toolbox):
About this issue
- Original URL
- State: closed
- Created 9 months ago
- Comments: 15 (15 by maintainers)
we need caps to read all images in pool for now and also we might need to read subvolumes in filesystem and also health checker should also required access to blocklist the Ip’s . https://github.com/ceph/ceph-csi/blob/devel/docs/capabilities.md#rbd is what we have in cephcsi but we need to check what is the minimal caps for required operations
One suggestion from @Madhu-1 is to use csi provisioned users for running the command and this will require to create file with the user keyring inside operator pod.