Implement `VOLUME_CONDITION` capability
- Dominant language
- Go
- Stars
- 1.6k
- Forks
- 617
- Avg merge
- 5d 10h
- Merged PRs (30d)
- 43
Description
# Describe the feature you'd like to have #
Healer Controller checks if a volume is still mounted and usable. To check whether a volume is usable, the CSI driver shall check if filesystem is corrupted, whether there are bad blocks, etc. in this RPC.
Instead of adding a new RPC, we can leverage the existing NodeGetVolumeStats RPC.
In the NodeGetVolumeStatsRequest, there are volume_id, volume_path, and staging_target_path. CSI driver can figure out whether a volume is still mounted based on these parameters.
A new message volume_condition will be added to NodeGetVolumeStatsResponse. A new Node capability `VOLUME_CONDITION` will be added to indicate whether a CSI driver has implemented this function. In a volume_condition message, there is a boolean parameter abnormal indicating whether the volume is normal or not and a message that describes the details of the volume condition.
# What new functionality do you want?
Provide a way to check the volume health status
# What is the value to the end-user? (why is it a priority?) #
The healer controller can leverage this to auto-fix the volume without user intervention.
# Additional context #
Read more at https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/1432-volume-health-monitor#add-node-volume-health-function
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.