Advertises the capability for Controller ListVolumes which resolves #59 . Allows us to run the external-health-monitor and get volume health stats for our PVCs.
The PR also consolidates the places where our driver capabilities are set as I spent far too much time wondering why the change in ae2665ea54 wasn't being advertised. Furthermore, this meant that we weren't actually advertising the ability to mount
Testing
Testing this feature requires running the external-health-monitor. I chose to run it as part of the linode controller but we can run it as a separate deployment using leader election.
Update the deploy/kubernetes/base/ss-csi-linode-controller.yaml with the following extra container and set the csi-driver to my image. The deploy/kubernetes/base/ds-csi-linode-node.yaml should also have it's plugin image update.
Create a PVC and consume it from a Pod - check that the external health monitor logs reflect volume creation
Update the kubelet config to enable the CSIVolumeHealth feature gate
Check the node metrics data and see that volumeHealthStatus is now being reported.
kubectl get --raw "/api/v1/nodes/lke145862-214328-13bc36d60000/proxy/stats/summary"
General:
Pull Request Guidelines:
Advertises the capability for Controller ListVolumes which resolves #59 . Allows us to run the
external-health-monitor
and get volume health stats for our PVCs.The PR also consolidates the places where our driver capabilities are set as I spent far too much time wondering why the change in ae2665ea54 wasn't being advertised. Furthermore, this meant that we weren't actually advertising the ability to mount
Testing
Testing this feature requires running the external-health-monitor. I chose to run it as part of the linode controller but we can run it as a separate deployment using leader election.
deploy/kubernetes/base/ss-csi-linode-controller.yaml
with the following extra container and set the csi-driver to my image. Thedeploy/kubernetes/base/ds-csi-linode-node.yaml
should also have it's plugin image update.CSIVolumeHealth
feature gatevolumeHealthStatus
is now being reported. kubectl get --raw "/api/v1/nodes/lke145862-214328-13bc36d60000/proxy/stats/summary"