Skip to content

Commit 064fe7c

Browse files
authored
Merge pull request #718 from cvvz/fix103
add e2e test for sas token and key vault suppport
2 parents 8766fda + e68c679 commit 064fe7c

File tree

283 files changed

+60778
-106
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

283 files changed

+60778
-106
lines changed

go.mod

+16-4
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
module sigs.k8s.io/blob-csi-driver
22

3-
go 1.17
3+
go 1.18
44

55
require (
66
github.com/Azure/azure-sdk-for-go v65.0.0+incompatible
7+
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.0.0
78
github.com/Azure/go-autorest/autorest v0.11.27
89
github.com/Azure/go-autorest/autorest/adal v0.9.20
910
github.com/Azure/go-autorest/autorest/to v0.4.0
@@ -18,7 +19,7 @@ require (
1819
github.com/pborman/uuid v1.2.0
1920
github.com/pelletier/go-toml v1.9.4
2021
github.com/stretchr/testify v1.7.1
21-
golang.org/x/net v0.0.0-20220225172249-27dd8689420f
22+
golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4
2223
google.golang.org/grpc v1.42.0
2324
google.golang.org/protobuf v1.27.1
2425
k8s.io/api v0.24.1
@@ -34,12 +35,21 @@ require (
3435
)
3536

3637
require (
38+
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.1.1
39+
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/keyvault/armkeyvault v1.0.0
40+
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.4.1
41+
k8s.io/apiserver v0.24.0
42+
)
43+
44+
require (
45+
github.com/Azure/azure-sdk-for-go/sdk/internal v1.0.0 // indirect
3746
github.com/Azure/go-autorest v14.2.0+incompatible // indirect
3847
github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect
3948
github.com/Azure/go-autorest/autorest/mocks v0.4.2 // indirect
4049
github.com/Azure/go-autorest/autorest/validation v0.3.1 // indirect
4150
github.com/Azure/go-autorest/logger v0.2.1 // indirect
4251
github.com/Azure/go-autorest/tracing v0.6.0 // indirect
52+
github.com/AzureAD/microsoft-authentication-library-for-go v0.4.0 // indirect
4353
github.com/aws/aws-sdk-go v1.38.49 // indirect
4454
github.com/beorn7/perks v1.0.1 // indirect
4555
github.com/bits-and-blooms/bitset v1.2.0 // indirect
@@ -53,6 +63,7 @@ require (
5363
github.com/fsnotify/fsnotify v1.5.4 // indirect
5464
github.com/go-logr/logr v1.2.0 // indirect
5565
github.com/gogo/protobuf v1.3.2 // indirect
66+
github.com/golang-jwt/jwt v3.2.1+incompatible // indirect
5667
github.com/golang-jwt/jwt/v4 v4.2.0 // indirect
5768
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
5869
github.com/google/go-cmp v0.5.6 // indirect
@@ -63,6 +74,7 @@ require (
6374
github.com/inconshreveable/mousetrap v1.0.0 // indirect
6475
github.com/jmespath/go-jmespath v0.4.0 // indirect
6576
github.com/json-iterator/go v1.1.12 // indirect
77+
github.com/kylelemons/godebug v1.1.0 // indirect
6678
github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect
6779
github.com/moby/spdystream v0.2.0 // indirect
6880
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
@@ -71,6 +83,7 @@ require (
7183
github.com/opencontainers/go-digest v1.0.0 // indirect
7284
github.com/opencontainers/runc v1.0.2 // indirect
7385
github.com/opencontainers/selinux v1.8.2 // indirect
86+
github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4 // indirect
7487
github.com/pkg/errors v0.9.1 // indirect
7588
github.com/pmezard/go-difflib v1.0.0 // indirect
7689
github.com/prometheus/client_golang v1.12.1 // indirect
@@ -89,7 +102,7 @@ require (
89102
go.opentelemetry.io/otel/sdk/metric v0.20.0 // indirect
90103
go.opentelemetry.io/otel/trace v0.20.0 // indirect
91104
go.opentelemetry.io/proto/otlp v0.7.0 // indirect
92-
golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4 // indirect
105+
golang.org/x/crypto v0.0.0-20220511200225-c6db032c6c88 // indirect
93106
golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 // indirect
94107
golang.org/x/sys v0.0.0-20220412211240-33da011f77ad // indirect
95108
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect
@@ -101,7 +114,6 @@ require (
101114
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
102115
gopkg.in/yaml.v2 v2.4.0 // indirect
103116
gopkg.in/yaml.v3 v3.0.1 // indirect
104-
k8s.io/apiserver v0.24.0 // indirect
105117
k8s.io/cloud-provider v0.24.0 // indirect
106118
k8s.io/component-helpers v0.24.0 // indirect
107119
k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 // indirect

go.sum

+26-21
Large diffs are not rendered by default.

test/e2e/pre_provisioning_test.go

+40
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,46 @@ var _ = ginkgo.Describe("[blob-csi-e2e] Pre-Provisioned", func() {
250250
}
251251
test.Run(cs, ns)
252252
})
253+
254+
ginkgo.It("should use Key Vault", func() {
255+
req := makeCreateVolumeReq("pre-provisioned-key-vault", ns.Name)
256+
resp, err := blobDriver.CreateVolume(context.Background(), req)
257+
if err != nil {
258+
ginkgo.Fail(fmt.Sprintf("create volume error: %v", err))
259+
}
260+
volumeID = resp.Volume.VolumeId
261+
ginkgo.By(fmt.Sprintf("Successfully provisioned blob volume: %q\n", volumeID))
262+
263+
volumeSize := fmt.Sprintf("%dGi", defaultVolumeSize)
264+
reclaimPolicy := v1.PersistentVolumeReclaimRetain
265+
volumeBindingMode := storagev1.VolumeBindingImmediate
266+
267+
pods := []testsuites.PodDetails{
268+
{
269+
Cmd: "echo 'hello world' > /mnt/test-1/data && grep 'hello world' /mnt/test-1/data",
270+
Volumes: []testsuites.VolumeDetails{
271+
{
272+
VolumeID: volumeID,
273+
FSType: "ext4",
274+
ClaimSize: volumeSize,
275+
ReclaimPolicy: &reclaimPolicy,
276+
VolumeBindingMode: &volumeBindingMode,
277+
VolumeMount: testsuites.VolumeMountDetails{
278+
NameGenerate: "test-volume-",
279+
MountPathGenerate: "/mnt/test-",
280+
},
281+
},
282+
},
283+
},
284+
}
285+
286+
test := testsuites.PreProvisionedKeyVaultTest{
287+
CSIDriver: testDriver,
288+
Pods: pods,
289+
Driver: blobDriver,
290+
}
291+
test.Run(cs, ns)
292+
})
253293
})
254294

255295
func makeCreateVolumeReq(volumeName, secretNamespace string) *csi.CreateVolumeRequest {

0 commit comments

Comments
 (0)