Skip to content

Commit ecea86c

Browse files
authored
Merge pull request #1928 from k8s-infra-cherrypick-robot/cherry-pick-1927-to-release-1.26
[release-1.26] fix: storageEndPointSuffix setting in on-prem cluster
2 parents 3dcd877 + 118e885 commit ecea86c

File tree

4 files changed

+11
-18
lines changed

4 files changed

+11
-18
lines changed

Diff for: pkg/blob/blob.go

+2-3
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ import (
3030

3131
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage"
3232
azstorage "github.com/Azure/azure-sdk-for-go/storage"
33-
az "github.com/Azure/go-autorest/autorest/azure"
3433
"github.com/container-storage-interface/spec/lib/go/csi"
3534
grpcprom "github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus"
3635
"github.com/pborman/uuid"
@@ -871,12 +870,12 @@ func getStorageAccount(secrets map[string]string) (string, string, error) {
871870
return accountName, accountKey, nil
872871
}
873872

874-
func getContainerReference(containerName string, secrets map[string]string, env az.Environment) (*azstorage.Container, error) {
873+
func getContainerReference(containerName string, secrets map[string]string, storageEndpointSuffix string) (*azstorage.Container, error) {
875874
accountName, accountKey, rerr := getStorageAccount(secrets)
876875
if rerr != nil {
877876
return nil, rerr
878877
}
879-
client, err := azstorage.NewBasicClientOnSovereignCloud(accountName, accountKey, env)
878+
client, err := azstorage.NewClient(accountName, accountKey, storageEndpointSuffix, azstorage.DefaultAPIVersion, true)
880879
if err != nil {
881880
return nil, err
882881
}

Diff for: pkg/blob/blob_test.go

+3-9
Original file line numberDiff line numberDiff line change
@@ -892,7 +892,7 @@ func TestGetStorageAccount(t *testing.T) {
892892
// needs editing, could only get past first error for testing, could not get a fake environment running
893893
func TestGetContainerReference(t *testing.T) {
894894
fakeAccountName := "storageaccountname"
895-
fakeAccountKey := "test-key"
895+
fakeAccountKey := "dGVzdC1rZXkK"
896896
fakeContainerName := "test-con"
897897
testCases := []struct {
898898
name string
@@ -946,14 +946,8 @@ func TestGetContainerReference(t *testing.T) {
946946

947947
for _, tc := range testCases {
948948
t.Run(tc.name, func(t *testing.T) {
949-
d.cloud.Environment.StorageEndpointSuffix = tc.endpointSuffix
950-
container, err := getContainerReference(tc.containerName, tc.secrets, d.getCloudEnvironment())
951-
if tc.expectedError != nil {
952-
assert.Error(t, err)
953-
assert.Equal(t, tc.expectedError, err)
954-
} else {
955-
container.Name = ""
956-
}
949+
_, err := getContainerReference(tc.containerName, tc.secrets, tc.endpointSuffix)
950+
assert.Equal(t, tc.expectedError, err)
957951
})
958952
}
959953
}

Diff for: pkg/blob/controllerserver.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -440,7 +440,7 @@ func (d *Driver) CreateVolume(ctx context.Context, req *csi.CreateVolumeRequest)
440440
}
441441

442442
klog.V(2).Infof("begin to create container(%s) on account(%s) type(%s) subsID(%s) rg(%s) location(%s) size(%d)", validContainerName, accountName, storageAccountType, subsID, resourceGroup, location, requestGiB)
443-
if err := d.CreateBlobContainer(ctx, subsID, resourceGroup, accountName, validContainerName, secrets); err != nil {
443+
if err := d.CreateBlobContainer(ctx, subsID, resourceGroup, accountName, validContainerName, storageEndpointSuffix, secrets); err != nil {
444444
return nil, status.Errorf(codes.Internal, "failed to create container(%s) on account(%s) type(%s) rg(%s) location(%s) size(%d), error: %v", validContainerName, accountName, storageAccountType, resourceGroup, location, requestGiB, err)
445445
}
446446
if volContentSource != nil {
@@ -577,7 +577,7 @@ func (d *Driver) ValidateVolumeCapabilities(ctx context.Context, req *csi.Valida
577577
var exist bool
578578
secrets := req.GetSecrets()
579579
if len(secrets) > 0 {
580-
container, err := getContainerReference(containerName, secrets, d.getCloudEnvironment())
580+
container, err := getContainerReference(containerName, secrets, d.getStorageEndPointSuffix())
581581
if err != nil {
582582
return nil, status.Error(codes.Internal, err.Error())
583583
}
@@ -694,14 +694,14 @@ func (d *Driver) ControllerExpandVolume(_ context.Context, req *csi.ControllerEx
694694
}
695695

696696
// CreateBlobContainer creates a blob container
697-
func (d *Driver) CreateBlobContainer(ctx context.Context, subsID, resourceGroupName, accountName, containerName string, secrets map[string]string) error {
697+
func (d *Driver) CreateBlobContainer(ctx context.Context, subsID, resourceGroupName, accountName, containerName, storageEndpointSuffix string, secrets map[string]string) error {
698698
if containerName == "" {
699699
return fmt.Errorf("containerName is empty")
700700
}
701701
return wait.ExponentialBackoff(getBackOff(d.cloud.Config), func() (bool, error) {
702702
var err error
703703
if len(secrets) > 0 {
704-
container, getErr := getContainerReference(containerName, secrets, d.getCloudEnvironment())
704+
container, getErr := getContainerReference(containerName, secrets, storageEndpointSuffix)
705705
if getErr != nil {
706706
return true, getErr
707707
}
@@ -740,7 +740,7 @@ func (d *Driver) DeleteBlobContainer(ctx context.Context, subsID, resourceGroupN
740740
return wait.ExponentialBackoff(getBackOff(d.cloud.Config), func() (bool, error) {
741741
var err error
742742
if len(secrets) > 0 {
743-
container, getErr := getContainerReference(containerName, secrets, d.getCloudEnvironment())
743+
container, getErr := getContainerReference(containerName, secrets, d.getStorageEndPointSuffix())
744744
if getErr != nil {
745745
return true, getErr
746746
}

Diff for: pkg/blob/controllerserver_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -1423,7 +1423,7 @@ func TestCreateBlobContainer(t *testing.T) {
14231423
}
14241424
return nil, nil
14251425
}).AnyTimes()
1426-
err := d.CreateBlobContainer(context.Background(), test.subsID, test.rg, test.accountName, test.containerName, test.secrets)
1426+
err := d.CreateBlobContainer(context.Background(), test.subsID, test.rg, test.accountName, test.containerName, "core.windows.net", test.secrets)
14271427
if !reflect.DeepEqual(err, test.expectedErr) {
14281428
t.Errorf("test(%s), actualErr: (%v), expectedErr: (%v)", test.desc, err, test.expectedErr)
14291429
}

0 commit comments

Comments
 (0)