-
Notifications
You must be signed in to change notification settings - Fork 124
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
VolumeExpansion ONLINE/OFFLINE capability is not checked #62
Comments
assign @gnufied |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
/remove-lifecycle stale |
/assign @gnufied |
/assign @gnufied |
This issue is still on our radar. The reason, we have been hesitant in fixing this is because - any checks we perform in external-resizer to determine if volume is in-use before making controller-expansion call, will be racy. We can either perform a best-case check in external-resizer but since that will be still subject to races, the plugins must be able to handle such expansion calls and return grpc errors. So volume expansion requests will still be retried, the only difference will be which component returns errors. If external-resizer checks for volume in-use before calling |
That sounds good. If external-resizer can check if volume is in-use before calling ControllerExpandVolume, that should cover most cases. In the corner case if the call still reaches the plugin, the plugin will return an error. |
Summary of discussion on April 2nd 2020: We discussed the option of doing a best case check but agreed that - it could worsen the problem where a driver author might falsely (after limited testing) assume that
Elsewhere in CSI spec though - SHALL and MUST word is used to describe OFFLINE expansion. I have filed container-storage-interface/spec#423 to discuss this in CSI community meeting. |
Another thing is - even checking resizing condition while doing mount or attach suffers from race conditions that are mentioned in - #62 (comment) so aren't entirely fullproof. |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
Stale issues rot after 30d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
This is fixed. |
I think, this behaviour is still present as of kubernetes v1.27.3. |
When a CSI driver reports PluginCapability_VolumeExpansion_OFFLINE only, external-resizer still calls ControllerExpandVolume when the PVC is used by a Pod.
Instead, the extenal-resizer should check VolumeExpansion plugin capability and only invoke ControllerExpandVolume when PluginCapability_VolumeExpansion_ONLINE is supported by the CSI driver.
The text was updated successfully, but these errors were encountered: