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 the insert code button 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 health To get the status of the cluster, use kubectl rook-ceph ceph status For 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 version inside 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 health in the Rook Ceph toolbox):

About this issue

  • Original URL
  • State: closed
  • Created 9 months ago
  • Comments: 15 (15 by maintainers)

Most upvoted comments

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.