From e71d9ae759ec6883fdceb4d9458578a85382eb7c Mon Sep 17 00:00:00 2001 From: Anshul Ahuja Date: Mon, 1 Jun 2020 10:45:55 +0530 Subject: [PATCH] Add resource group parameter to volumesnapshot --- pkg/azuredisk/controllerserver.go | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/pkg/azuredisk/controllerserver.go b/pkg/azuredisk/controllerserver.go index dca20fd63a..2599e846a5 100644 --- a/pkg/azuredisk/controllerserver.go +++ b/pkg/azuredisk/controllerserver.go @@ -565,16 +565,13 @@ func (d *Driver) CreateSnapshot(ctx context.Context, req *csi.CreateSnapshotRequ return nil, status.Error(codes.InvalidArgument, "snapshot name must be provided") } - resourceGroup, err := getResourceGroupFromURI(sourceVolumeID) - if err != nil { - return nil, status.Errorf(codes.InvalidArgument, "could not get resource group from diskURI(%s) with error(%v)", sourceVolumeID, err) - } - snapshotName = getValidDiskName(snapshotName) var customTags string // set incremental snapshot as true by default incremental := true + var resourceGroup string + var err error parameters := req.GetParameters() for k, v := range parameters { @@ -585,10 +582,18 @@ func (d *Driver) CreateSnapshot(ctx context.Context, req *csi.CreateSnapshotRequ if v == "false" { incremental = false } + case "resourcegroup": + resourceGroup = v default: return nil, fmt.Errorf("AzureDisk - invalid option %s in VolumeSnapshotClass", k) } } + if resourceGroup == "" { + resourceGroup, err = getResourceGroupFromURI(sourceVolumeID) + if err != nil { + return nil, status.Errorf(codes.InvalidArgument, "could not get resource group from diskURI(%s) with error(%v)", sourceVolumeID, err) + } + } customTagsMap, err := volumehelper.ConvertTagsToMap(customTags) if err != nil {