Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CSI changes for volume health #410

Closed
xing-yang opened this issue Feb 1, 2020 · 0 comments · Fixed by #415
Closed

CSI changes for volume health #410

xing-yang opened this issue Feb 1, 2020 · 0 comments · Fixed by #415

Comments

@xing-yang
Copy link
Contributor

Volume Health KEP is merged in Kubernetes. We need to have CSI changes to provide volume health check leveraging existing RPCs and adding new ones.

  • Add new GetVolume controller RPC
    External monitoring controller calls a new GetVolume RPC to check health condition of a particular volume instead of calling ListVolumes with a volume_id filter. Some CSI drivers chose not to implement ListVolumes as it is an expensive operation. Therefore it is better to introduce a new RPC GetVolume which has a new capability.

  • Extend the existing NodeGetVolumeStats RPC
    External node agent calls NodeGetVolumeStats to check mount condition and other health condition.

Two new controller capabilities are added. If a CSI driver supports GET_VOLUME capability, it MUST support calling GetVolume to provide general volume information in GetVolumeResponse. If a driver supports GET_VOLUME_HEALTH, it MUST provide additional health information in GetVolumeResponse.

A new node capability is added. If CSI driver supports the GET_VOLUME_STATS_HEALTH capability, it MUST provide health information in NodeGetVolumeStats.

For details of CSI spec changes, see the following:
https://github.com/kubernetes/enhancements/blob/master/keps/sig-storage/20190530-pv-health-monitor.md#csi-changes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant