nbp icon indicating copy to clipboard operation
nbp copied to clipboard

Design a mechanism to update the soda with all the existing CSI driver deployment in k8s.

Open asifdxtreme opened this issue 3 years ago • 1 comments

Issue/Feature Description: Design a mechanism to update the SODA dynamically with the metadata of all the existing deploymen of CSI drivers in k8s.

Why this issue to fixed / feature is needed(give scenarios or use cases): We need to fix this issue so that SODA can automatically decide with CSI driver needs to be picked for volume provisioning.

asifdxtreme avatar Apr 07 '21 03:04 asifdxtreme

We can have 2 approach here :

  1. We can make use of sidecars to update the soda-api-server with all the details of (StorageClass, PV, PVC ) whenever these sidecars gets a request to change the state of these objects. Problem with this approach might be that we might not get full state of K8s env unless and until any request lands to sidecar. And also we have to tweak all the sidecars of CSI to get this working.
  2. We can develop a soda-syncer which will watch on the objects(SC, PV, PVC, CSINodes, CSIDrivers) and update the state of these objects to soda-api-server, this appraoch will help to get the full state of k8s env and also will help soda-csi-provisioner to enable the intelligence while picking the driver. This approach will require user to deploy this syncer in k8s env with proper permissions to connect with k8s-api-server.

@sushanthakumar @AmitRoushan @kumarashit @skdwriting @rajat-soda Please give your suggestion on which approach will be better for this requirement.

asifdxtreme avatar May 20 '21 08:05 asifdxtreme