-
Notifications
You must be signed in to change notification settings - Fork 152
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
keepalive API #239
keepalive API #239
Conversation
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: pohly The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Sometimes it may be useful to connect to a CSI driver via TCP, for example when controller and node service aren't running on the same host. The mock driver can be used to test this mode of operation now. It accepts the same "tcp://<host>:<port" and "unix://<path>" syntax as other CSI drivers while still supporting just plain "<path>" for backwards compatibility.
The gRPC defaults for a client do not work for a gRPC server that also uses the defaults (grpc/grpc-go#3171) which caused connection drops when a CSI driver is slow to respond and the client starts sending keepalive pings too quickly (kubernetes-csi#238). The sanity package no longer uses gRPC keepalive. Instead, custom test suites can enable that via some new configuration options if needed and when it is certain that the CSI driver under test can handle it.
@wnxn: can you perhaps review this PR? |
@pohly When I reproduce the keepalive problem, the subsequent testcases failed for the TransientFailure. grpc/grpc-go#2669 |
It makes sense to do that, but it should better be a separate PR. |
LGTM |
/lgtm |
What type of PR is this?
/kind api-change
What this PR does / why we need it:
Enabling gRPC keepalive breaks connections if the CSI driver isn't prepared for it. When testing this is was useful to also support TCP in the mock driver.
Which issue(s) this PR fixes:
Fixes #238
Special notes for your reviewer:
Depends on PR #233
Does this PR introduce a user-facing change?: