@@ -71,7 +71,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
71
71
instance := testContext .Instance
72
72
73
73
// Create Disk
74
- volName , volID := createAndValidateUniqueZonalDisk (client , p , z )
74
+ volName , volID := createAndValidateUniqueZonalDisk (client , p , z , standardDiskType )
75
75
76
76
defer func () {
77
77
// Delete Disk
@@ -96,7 +96,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
96
96
instance := testContext .Instance
97
97
98
98
// Create Disk
99
- volName , volID := createAndValidateUniqueZonalDisk (client , p , z )
99
+ volName , volID := createAndValidateUniqueZonalDisk (client , p , z , standardDiskType )
100
100
101
101
defer func () {
102
102
// Delete Disk
@@ -168,7 +168,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
168
168
instance := testContext .Instance
169
169
170
170
// Create Disk
171
- volName , volID := createAndValidateUniqueZonalDisk (client , p , z )
171
+ volName , volID := createAndValidateUniqueZonalDisk (client , p , z , standardDiskType )
172
172
173
173
defer func () {
174
174
// Delete Disk
@@ -267,7 +267,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
267
267
client := testContext .Client
268
268
instance := testContext .Instance
269
269
270
- volName , _ := createAndValidateUniqueZonalDisk (client , p , z )
270
+ volName , _ := createAndValidateUniqueZonalDisk (client , p , z , standardDiskType )
271
271
272
272
underSpecifiedID := common .GenerateUnderspecifiedVolumeID (volName , true /* isZonal */ )
273
273
@@ -414,7 +414,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
414
414
p , z , _ := testContext .Instance .GetIdentity ()
415
415
client := testContext .Client
416
416
417
- volName , volID := createAndValidateUniqueZonalDisk (client , p , z )
417
+ volName , volID := createAndValidateUniqueZonalDisk (client , p , z , standardDiskType )
418
418
419
419
// Create Snapshot
420
420
snapshotName := testNamePrefix + string (uuid .NewUUID ())
@@ -470,52 +470,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
470
470
parentName := fmt .Sprintf ("projects/%s/locations/%s" , p , locationID )
471
471
keyRingId := "gce-pd-csi-test-ring"
472
472
473
- // Create KeyRing
474
- ringReq := & kmspb.CreateKeyRingRequest {
475
- Parent : parentName ,
476
- KeyRingId : keyRingId ,
477
- }
478
- keyRing , err := kmsClient .CreateKeyRing (ctx , ringReq )
479
- if ! gce .IsGCEError (err , "alreadyExists" ) {
480
- getKeyRingReq := & kmspb.GetKeyRingRequest {
481
- Name : fmt .Sprintf ("%s/keyRings/%s" , parentName , keyRingId ),
482
- }
483
- keyRing , err = kmsClient .GetKeyRing (ctx , getKeyRingReq )
484
-
485
- }
486
- Expect (err ).To (BeNil (), "Failed to create or get key ring %v" , keyRingId )
487
-
488
- // Create CryptoKey in KeyRing
489
- keyId := "test-key-" + string (uuid .NewUUID ())
490
- keyReq := & kmspb.CreateCryptoKeyRequest {
491
- Parent : keyRing .Name ,
492
- CryptoKeyId : keyId ,
493
- CryptoKey : & kmspb.CryptoKey {
494
- Purpose : kmspb .CryptoKey_ENCRYPT_DECRYPT ,
495
- VersionTemplate : & kmspb.CryptoKeyVersionTemplate {
496
- Algorithm : kmspb .CryptoKeyVersion_GOOGLE_SYMMETRIC_ENCRYPTION ,
497
- },
498
- },
499
- }
500
- key , err := kmsClient .CreateCryptoKey (ctx , keyReq )
501
- Expect (err ).To (BeNil (), "Failed to create crypto key %v in key ring %v" , keyId , keyRing .Name )
502
-
503
- keyVersions := []string {}
504
- keyVersionReq := & kmspb.ListCryptoKeyVersionsRequest {
505
- Parent : key .Name ,
506
- }
507
-
508
- it := kmsClient .ListCryptoKeyVersions (ctx , keyVersionReq )
509
-
510
- for {
511
- keyVersion , err := it .Next ()
512
- if err == iterator .Done {
513
- break
514
- }
515
- Expect (err ).To (BeNil (), "Failed to list crypto key versions" )
516
-
517
- keyVersions = append (keyVersions , keyVersion .Name )
518
- }
473
+ key , keyVersions := setupKeyRing (ctx , parentName , keyRingId )
519
474
520
475
// Defer deletion of all key versions
521
476
// https://cloud.google.com/kms/docs/destroy-restore
@@ -525,7 +480,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
525
480
destroyKeyReq := & kmspb.DestroyCryptoKeyVersionRequest {
526
481
Name : keyVersion ,
527
482
}
528
- _ , err = kmsClient .DestroyCryptoKeyVersion (ctx , destroyKeyReq )
483
+ _ , err : = kmsClient .DestroyCryptoKeyVersion (ctx , destroyKeyReq )
529
484
Expect (err ).To (BeNil (), "Failed to destroy crypto key version: %v" , keyVersion )
530
485
}
531
486
@@ -620,10 +575,10 @@ var _ = Describe("GCE PD CSI Driver", func() {
620
575
621
576
nodeID := testContext .Instance .GetNodeID ()
622
577
623
- _ , volID := createAndValidateUniqueZonalDisk (client , p , z )
578
+ _ , volID := createAndValidateUniqueZonalDisk (client , p , z , standardDiskType )
624
579
defer deleteVolumeOrError (client , volID )
625
580
626
- _ , secondVolID := createAndValidateUniqueZonalDisk (client , p , z )
581
+ _ , secondVolID := createAndValidateUniqueZonalDisk (client , p , z , standardDiskType )
627
582
defer deleteVolumeOrError (client , secondVolID )
628
583
629
584
// Attach volID to current instance
@@ -722,7 +677,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
722
677
client := testContext .Client
723
678
instance := testContext .Instance
724
679
725
- volName , volID := createAndValidateUniqueZonalDisk (client , p , z )
680
+ volName , volID := createAndValidateUniqueZonalDisk (client , p , z , standardDiskType )
726
681
727
682
defer func () {
728
683
// Delete Disk
@@ -759,7 +714,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
759
714
client := testContext .Client
760
715
instance := testContext .Instance
761
716
762
- volName , volID := createAndValidateUniqueZonalDisk (client , p , z )
717
+ volName , volID := createAndValidateUniqueZonalDisk (client , p , z , standardDiskType )
763
718
764
719
defer func () {
765
720
// Delete Disk
@@ -801,7 +756,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
801
756
zone := "us-east1-a"
802
757
803
758
// Create and Validate Disk
804
- volName , volID := createAndValidateUniqueZonalMultiWriterDisk (client , p , zone )
759
+ volName , volID := createAndValidateUniqueZonalMultiWriterDisk (client , p , zone , standardDiskType )
805
760
806
761
defer func () {
807
762
// Delete Disk
@@ -823,7 +778,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
823
778
instance := testContext .Instance
824
779
825
780
// Create and Validate Disk
826
- volName , volID := createAndValidateUniqueZonalMultiWriterDisk (client , p , z )
781
+ volName , volID := createAndValidateUniqueZonalMultiWriterDisk (client , p , z , standardDiskType )
827
782
828
783
defer func () {
829
784
// Delete Disk
@@ -903,7 +858,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
903
858
client := testContext .Client
904
859
905
860
// Create Disk
906
- volName , volID := createAndValidateUniqueZonalDisk (client , p , z )
861
+ volName , volID := createAndValidateUniqueZonalDisk (client , p , z , standardDiskType )
907
862
908
863
// Create Snapshot
909
864
snapshotName := testNamePrefix + string (uuid .NewUUID ())
@@ -964,7 +919,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
964
919
client := testContext .Client
965
920
966
921
// Create Disk
967
- volName , volID := createAndValidateUniqueZonalDisk (client , p , z )
922
+ volName , volID := createAndValidateUniqueZonalDisk (client , p , z , standardDiskType )
968
923
969
924
// Create Snapshot
970
925
snapshotName := testNamePrefix + string (uuid .NewUUID ())
@@ -1025,7 +980,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
1025
980
p , z , _ := controllerInstance .GetIdentity ()
1026
981
1027
982
// Create Source Disk
1028
- _ , srcVolID := createAndValidateUniqueZonalDisk (controllerClient , p , z )
983
+ _ , srcVolID := createAndValidateUniqueZonalDisk (controllerClient , p , z , standardDiskType )
1029
984
1030
985
// Create Disk
1031
986
volName := testNamePrefix + string (uuid .NewUUID ())
@@ -1167,7 +1122,7 @@ func equalWithinEpsilon(a, b, epsiolon int64) bool {
1167
1122
return b - a < epsiolon
1168
1123
}
1169
1124
1170
- func createAndValidateUniqueZonalDisk (client * remote.CsiClient , project , zone string ) (volName , volID string ) {
1125
+ func createAndValidateUniqueZonalDisk (client * remote.CsiClient , project , zone string , diskType string ) (volName , volID string ) {
1171
1126
// Create Disk
1172
1127
var err error
1173
1128
volName = testNamePrefix + string (uuid .NewUUID ())
@@ -1184,7 +1139,7 @@ func createAndValidateUniqueZonalDisk(client *remote.CsiClient, project, zone st
1184
1139
// Validate Disk Created
1185
1140
cloudDisk , err := computeService .Disks .Get (project , zone , volName ).Do ()
1186
1141
Expect (err ).To (BeNil (), "Could not get disk from cloud directly" )
1187
- Expect (cloudDisk .Type ).To (ContainSubstring (standardDiskType ))
1142
+ Expect (cloudDisk .Type ).To (ContainSubstring (diskType ))
1188
1143
Expect (cloudDisk .Status ).To (Equal (readyState ))
1189
1144
Expect (cloudDisk .SizeGb ).To (Equal (defaultSizeGb ))
1190
1145
Expect (cloudDisk .Name ).To (Equal (volName ))
@@ -1203,7 +1158,7 @@ func deleteVolumeOrError(client *remote.CsiClient, volID string) {
1203
1158
Expect (gce .IsGCEError (err , "notFound" )).To (BeTrue (), "Expected disk to not be found" )
1204
1159
}
1205
1160
1206
- func createAndValidateUniqueZonalMultiWriterDisk (client * remote.CsiClient , project , zone string ) (string , string ) {
1161
+ func createAndValidateUniqueZonalMultiWriterDisk (client * remote.CsiClient , project , zone string , diskType string ) (string , string ) {
1207
1162
// Create Disk
1208
1163
volName := testNamePrefix + string (uuid .NewUUID ())
1209
1164
volID , err := client .CreateVolumeWithCaps (volName , nil , defaultMwSizeGb ,
@@ -1229,7 +1184,7 @@ func createAndValidateUniqueZonalMultiWriterDisk(client *remote.CsiClient, proje
1229
1184
// Validate Disk Created
1230
1185
cloudDisk , err := computeAlphaService .Disks .Get (project , zone , volName ).Do ()
1231
1186
Expect (err ).To (BeNil (), "Could not get disk from cloud directly" )
1232
- Expect (cloudDisk .Type ).To (ContainSubstring (standardDiskType ))
1187
+ Expect (cloudDisk .Type ).To (ContainSubstring (diskType ))
1233
1188
Expect (cloudDisk .Status ).To (Equal (readyState ))
1234
1189
Expect (cloudDisk .SizeGb ).To (Equal (defaultMwSizeGb ))
1235
1190
Expect (cloudDisk .Name ).To (Equal (volName ))
@@ -1242,3 +1197,53 @@ func cleanSelfLink(selfLink string) string {
1242
1197
r , _ := regexp .Compile ("https:\\ /\\ /www.*apis.com\\ /.*(v1|beta|alpha)\\ /" )
1243
1198
return r .ReplaceAllString (selfLink , "" )
1244
1199
}
1200
+
1201
+ func setupKeyRing (ctx context.Context , parentName string , keyRingId string ) (* kmspb.CryptoKey , []string ) {
1202
+ // Create KeyRing
1203
+ ringReq := & kmspb.CreateKeyRingRequest {
1204
+ Parent : parentName ,
1205
+ KeyRingId : keyRingId ,
1206
+ }
1207
+ keyRing , err := kmsClient .CreateKeyRing (ctx , ringReq )
1208
+ if ! gce .IsGCEError (err , "alreadyExists" ) {
1209
+ getKeyRingReq := & kmspb.GetKeyRingRequest {
1210
+ Name : fmt .Sprintf ("%s/keyRings/%s" , parentName , keyRingId ),
1211
+ }
1212
+ keyRing , err = kmsClient .GetKeyRing (ctx , getKeyRingReq )
1213
+
1214
+ }
1215
+ Expect (err ).To (BeNil (), "Failed to create or get key ring %v" , keyRingId )
1216
+
1217
+ // Create CryptoKey in KeyRing
1218
+ keyId := "test-key-" + string (uuid .NewUUID ())
1219
+ keyReq := & kmspb.CreateCryptoKeyRequest {
1220
+ Parent : keyRing .Name ,
1221
+ CryptoKeyId : keyId ,
1222
+ CryptoKey : & kmspb.CryptoKey {
1223
+ Purpose : kmspb .CryptoKey_ENCRYPT_DECRYPT ,
1224
+ VersionTemplate : & kmspb.CryptoKeyVersionTemplate {
1225
+ Algorithm : kmspb .CryptoKeyVersion_GOOGLE_SYMMETRIC_ENCRYPTION ,
1226
+ },
1227
+ },
1228
+ }
1229
+ key , err := kmsClient .CreateCryptoKey (ctx , keyReq )
1230
+ Expect (err ).To (BeNil (), "Failed to create crypto key %v in key ring %v" , keyId , keyRing .Name )
1231
+
1232
+ keyVersions := []string {}
1233
+ keyVersionReq := & kmspb.ListCryptoKeyVersionsRequest {
1234
+ Parent : key .Name ,
1235
+ }
1236
+
1237
+ it := kmsClient .ListCryptoKeyVersions (ctx , keyVersionReq )
1238
+
1239
+ for {
1240
+ keyVersion , err := it .Next ()
1241
+ if err == iterator .Done {
1242
+ break
1243
+ }
1244
+ Expect (err ).To (BeNil (), "Failed to list crypto key versions" )
1245
+
1246
+ keyVersions = append (keyVersions , keyVersion .Name )
1247
+ }
1248
+ return key , keyVersions
1249
+ }
0 commit comments