-
Notifications
You must be signed in to change notification settings - Fork 373
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
Pass Topology Information for DeleteVolume #408
Comments
Generally, the volumedelete call cannot pass in information other than ID because it may not always available in the teardown case. The way that we implemented it in the GCP PD driver is to encode zone/region information in the volume id. |
Yep. that's something could be achieved at driver side.
Could you give some example of when the topology info is not available? One case I can think of is pre-provisioned volume that doesn't have And where do we have such doc about encoding region in |
Same problem with VolumeContext missing in DeleteVolume, this is really inconvenient and a lot of drivers end up with encoding all the information into volume name... which is of course ugly as hell |
@vitalif agree on this, |
With latest CSI spec, topology information is passed into
CreateVolume
call, so that CSI driver can provision a volume by the givenTopologyRequirement
. The topology requirement could be region, zones, or racks. This enables CSI driver to provision volume in different regions. Eg. a CSI driver could provision volume is both us-west-2 and us-east-1. However, due to topology information is missing fromDeleteVolume
call, a CSI driver won't be able to delete a volume for different regions.In order to keep API symmetric between
CreateVolume
andDeleteVolume
, topology information should be passed intoDeleteVolume
call. So that a CSI driver controller service could manage volumes from different regions for clusters that have worker nodes in many different regions./cc @gnufied @msau42
The text was updated successfully, but these errors were encountered: