csi-driver-lvm
csi-driver-lvm copied to clipboard
Capacity tracking support
Enable storage capacity tracking as per the CSI documentation: https://kubernetes-csi.github.io/docs/storage-capacity-tracking.html
While using this CSI driver in-cluster, I hit issues where pods would be attempted to be scheduled on nodes that didn't have enough disk space remaining to satisfy the request while the topology requirements kept the same so the provisioner would get in an endless error loop.
Since capacity requests aren't supported in the node server, this takes the same approach to provisioning in which a pod is created on the specified node to check remaining capacity based on the device pattern.
Tested in-cluster and is working.
Nice !
Thanks! Will get the comments actioned and add a test that asserts the storage capacity objects get created.
Got this updated and tested in-cluster. Couldn't unfortunately add tests as I realised it depended on the helm chart changes to enable capacity tracking.
Got this updated and tested in-cluster. Couldn't unfortunately add tests as I realised it depended on the helm chart changes to enable capacity tracking.
having tests for this would be very much appreciated
@majst01 since the tests install the helm chart and for capacity tracking to be enabled it requires the helm chart changes as per this PR: https://github.com/metal-stack/helm-charts/pull/68/files
How would you propose to add tests? One solution would be to disable capacity tracking in that PR by default, then enable it in the values file in this repo for testing.
Hey @jleeh,
having the feature disabled by default and then enable it for integration testing in this repository sounds good to me.
I just allowed your PR in the helm repo to be built such that there will also be a PR helm repo available that you can use for trying out your changes (https://helm.metal-stack.io/pull_requests/<branch-name>
).