ceph-csi icon indicating copy to clipboard operation
ceph-csi copied to clipboard

Remove pool parameter from the groupsnapshot/groupreplicationclass parameters

Open Madhu-1 opened this issue 11 months ago • 7 comments

Describe the feature you'd like to have

Currently, cephcsi expects the pool parameter to be set in groupsnapshot and groupreplication classes, having the dependency on the pool creates a problem when the pool is deleted when there are no pvc/volumesnapshot in it. CephCSI should be dynamically storing the omap data in the required pool/namespace

What is the value to the end user? (why is it a priority?)

No need to pass the pool parameter in the Class where doesn't a need to ensure omap existence before removing the pool.

How would the end user gain value from having this feature?

More flexibility

The same need to be done for the cluster where we have multiple filesystems for cephfs (This can be tracked as a different request)

Madhu-1 avatar Jan 16 '25 10:01 Madhu-1

@Madhu-1 , what pool do you suggest to use when grouping RBD Volumes that are in different pools?

nixpanic avatar Jan 16 '25 10:01 nixpanic

IMO we should be storing it on both the pools as a group is dynamic in volumegroup is dynamic and the major problem I can think of having a single source for omap we might end up not cleaning the complete group when the pool hosting the omap is deleted (same applicable for volume group as well) and the pool need to be long-lived even though its not hosting any images but just because of the metadata.

PS: I haven't thought about the design.

Madhu-1 avatar Jan 16 '25 10:01 Madhu-1

This isn't trivial for the RBD-group metadata itself, it is maintained by librbd. Duplicating that metadata to all pools that have images in the group sounds nice though, I just don't know if the RBD-group API's allow such a thing at the moment.

nixpanic avatar Jan 16 '25 10:01 nixpanic

@nixpanic i was talking only about the omap metadata that cephcsi stores for mapping. am not sure about the metadata you are referring to, is it the same or something else?

Madhu-1 avatar Jan 16 '25 10:01 Madhu-1

As I mentioned I haven't thought about the design but I thought it would be good to have a discussion about it and see if we can remove the hard dependency when we have multiple pools in the clusters that are used by cephcsi.

can cephcsi also choose pool from one of the image which are meant to be grouped and use its pool for metadata rather than depending on the user to provide pool to mention where the group should gets created and where cephcsi should store the omap, at least we can make it kind of optional?

Madhu-1 avatar Jan 16 '25 10:01 Madhu-1

/assign

OdedViner avatar Jan 19 '25 14:01 OdedViner

Thanks for taking this issue! Let us know if you have any questions!

github-actions[bot] avatar Jan 19 '25 14:01 github-actions[bot]