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

ControllerGetVolume Volume does not exist is not an error instead its an abnormal true condition #495

Open
nb950 opened this issue Nov 3, 2021 · 4 comments

Comments

@nb950
Copy link

nb950 commented Nov 3, 2021

"ControllerGetVolumeResponse should contain current information of a volume if it exists. If the volume does not exist any more, ControllerGetVolume should return gRPC error code NOT_FOUND"

refer discussion : https://kubernetes.slack.com/archives/C8EJ01Z46/p1635513340016300

Volume does not exist --should not be returned as an error in the response ,instead it should be returned as a volume_condition abnormal =true in ControllerGetVolumeResponse .
please help fix the spec

@jdef
Copy link
Member

jdef commented Nov 5, 2021 via email

@nb950
Copy link
Author

nb950 commented Nov 6, 2021

jdef , please reconsider. This method is called by kubelet and external-health-monitor side-car , the response is checked to send events to PVC / POD if abnormal=true is set. If instead NOT_FOUND error is sent there is no event for it and k8s-admin is not alerted to this condition. refer
https://github.com/kubernetes/kubernetes/blob/master/pkg/volume/csi/csi_client.go https://github.com/kubernetes-csi/external-health-monitor/blob/master/pkg/csi-handler/pv_handler.go

@jdef
Copy link
Member

jdef commented Nov 6, 2021 via email

@nb950
Copy link
Author

nb950 commented Nov 6, 2021

the usecase is to report an abnormal event on a POD/PVC like volume not found . in all the other csi calls reporting an error if volume is not found is expected and it is the norm. in get-volume call reporting health of the volume in response versus reporting error is desired.
if volume on the array is no longer usable method will return abnormal=true . if method is unable to determine status of the volume it will return error. does that help ?

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

No branches or pull requests

2 participants