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
Each CephFS subvolume that goes through NodeStage request maps the subvolume to the passed in target_path. Instead, we could try and check if we can map the subvolumes_group, and then bind mount the sub-directory for the request. Thereby, reuse the mount of the subvolumes_group for other NodeStage requests on the same node.
What is the value to the end user? (why is it a priority?)
This would reduce the number of CephFS mounts on the system from number of subvolumes in use to the number of subvolume_groups in use. Hence, reducing resource consumption on these nodes and also making the staging process faster.
How will we know we have a good solution? (acceptance criteria)
If we schedule more than one pod using a PV from the same CephFS storageclass (in kubernetes) we should only see one CephFS mount.
Additional context
There maybe some security gotchas here, that we may need to think through before implementation. Also, as we would get NodeStage once per PV and not once per PVs parent subvolume_group use count of such a mount needs to be maintained by the plugin, and recovery of the same also needs consideration when using kernel CephFS and the plugin is restarted (IOW, use count is lost but the filesystem is still mounted and in use by multiple pods).
The text was updated successfully, but these errors were encountered:
This is part of the request put into #269 and as we are removing the per subvolume credential creation, we should be able to think about this enhancement separately.
@ShyamsundarR considering subvolume namespaced mounts brings more security and better persmission handling, I believe we no longer require this. Closing this for now. Please feel free to reopen if required.
Describe the feature you'd like to have
Each CephFS subvolume that goes through NodeStage request maps the subvolume to the passed in
target_path
. Instead, we could try and check if we can map the subvolumes_group, and then bind mount the sub-directory for the request. Thereby, reuse the mount of the subvolumes_group for other NodeStage requests on the same node.What is the value to the end user? (why is it a priority?)
This would reduce the number of CephFS mounts on the system from number of subvolumes in use to the number of subvolume_groups in use. Hence, reducing resource consumption on these nodes and also making the staging process faster.
How will we know we have a good solution? (acceptance criteria)
If we schedule more than one pod using a PV from the same CephFS storageclass (in kubernetes) we should only see one CephFS mount.
Additional context
There maybe some security gotchas here, that we may need to think through before implementation. Also, as we would get NodeStage once per PV and not once per PVs parent subvolume_group use count of such a mount needs to be maintained by the plugin, and recovery of the same also needs consideration when using kernel CephFS and the plugin is restarted (IOW, use count is lost but the filesystem is still mounted and in use by multiple pods).
The text was updated successfully, but these errors were encountered: