-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Use ExternalID in NodeStageVolume RPC #7754
Conversation
In my test, the volume was defined as follows:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This code change mostly LGTM. The only thing that worries me about this change is that we didn't see the problem with the EBS plugins. According to https://github.com/kubernetes-sigs/aws-ebs-csi-driver#features the EBS plugin does implement NODE_STAGE_VOLUME
so I would have expected to see this appear there.
Have we tested this branch with EBS to make sure we don't have a regression? (I'm hoping this isn't a case of inconsistent implementation of the spec but it wouldn't surprise me either.)
@@ -166,7 +166,7 @@ func (v *volumeManager) stageVolume(ctx context.Context, vol *structs.CSIVolume, | |||
// CSI NodeStageVolume errors for timeout, codes.Unavailable and | |||
// codes.ResourceExhausted are retried; all other errors are fatal. | |||
return v.plugin.NodeStageVolume(ctx, | |||
vol.ID, | |||
vol.ExternalID, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's a getter method vol.RemoteID()
for this. Let's use that here for consistency with the v.plugin.NodePublishVolume
call.
Manually tested AWS EBS using the original fix version (using vol.ExternalID) and it does not regress it. Perhaps the AWS EBS volume driver doesn't actually cause staging to happen? |
Yeah, entirely possible that it supports the RPC but only actually does the staging work under specific circumstances. |
Was just digging through the code and it looks like this might also help explain the NVME issue you were reporting in chat: https://github.com/kubernetes-sigs/aws-ebs-csi-driver/blob/04f0e8a8c70a8b4ba0fa76b24f2aef7bc26a18cc/pkg/driver/node.go#L479 (assuming the Docker folks fixed the problem with the actual mounting step). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
I'm going to lock this pull request because it has been closed for 120 days ⏳. This helps our maintainers find and focus on the active contributions. |
This resolves an issue with the gcp-compute-persistent-disk-csi-driver where a volume will fail to mount with the following error: