kubernetes-sigs / azurefile-csi-driver

Azure File CSI Driver
Apache License 2.0
158 stars 143 forks source link

only list specific file share snapshot in CreateSnapshot to reduce get file share throttling using management API #2152

Closed andyzhangx closed 3 weeks ago

andyzhangx commented 1 month ago

Is your feature request related to a problem?/Why is this needed

Currently we list all file shares under one storage account, we could only list specific file share snapshot in CreateSnapshot, that could could reduce the get file share throttling further more

https://github.com/kubernetes-sigs/azurefile-csi-driver/blob/a7d245399a322b74192a716c2c4f54bae3901742/pkg/azurefile/controllerserver.go#L1275

// List lists all shares.
// Parameters:
// resourceGroupName - the name of the resource group within the user's subscription. The name is case
// insensitive.
// accountName - the name of the storage account within the specified resource group. Storage account names
// must be between 3 and 24 characters in length and use numbers and lower-case letters only.
// maxpagesize - optional. Specified maximum number of shares that can be included in the list.
// filter - optional. When specified, only share names starting with the filter will be listed.
// expand - optional, used to expand the properties within share's properties. Valid values are: deleted,
// snapshots. Should be passed as a string with delimiter ','
func (client FileSharesClient) List(ctx context.Context, resourceGroupName string, accountName string, maxpagesize string, filter string, expand string) (result FileShareItemsPage, err error) {

this is a further improvement of https://github.com/kubernetes-sigs/azurefile-csi-driver/pull/1694 which reduces the get file share throttling a little using management API

Describe the solution you'd like in detail

Describe alternatives you've considered

Additional context

/kind feature