@@ -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
@@ -413,7 +413,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
413
413
p , z , _ := testContext .Instance .GetIdentity ()
414
414
client := testContext .Client
415
415
416
- volName , volID := createAndValidateUniqueZonalDisk (client , p , z )
416
+ volName , volID := createAndValidateUniqueZonalDisk (client , p , z , standardDiskType )
417
417
418
418
// Create Snapshot
419
419
snapshotName := testNamePrefix + string (uuid .NewUUID ())
@@ -469,52 +469,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
469
469
parentName := fmt .Sprintf ("projects/%s/locations/%s" , p , locationID )
470
470
keyRingId := "gce-pd-csi-test-ring"
471
471
472
- // Create KeyRing
473
- ringReq := & kmspb.CreateKeyRingRequest {
474
- Parent : parentName ,
475
- KeyRingId : keyRingId ,
476
- }
477
- keyRing , err := kmsClient .CreateKeyRing (ctx , ringReq )
478
- if ! gce .IsGCEError (err , "alreadyExists" ) {
479
- getKeyRingReq := & kmspb.GetKeyRingRequest {
480
- Name : fmt .Sprintf ("%s/keyRings/%s" , parentName , keyRingId ),
481
- }
482
- keyRing , err = kmsClient .GetKeyRing (ctx , getKeyRingReq )
483
-
484
- }
485
- Expect (err ).To (BeNil (), "Failed to create or get key ring %v" , keyRingId )
486
-
487
- // Create CryptoKey in KeyRing
488
- keyId := "test-key-" + string (uuid .NewUUID ())
489
- keyReq := & kmspb.CreateCryptoKeyRequest {
490
- Parent : keyRing .Name ,
491
- CryptoKeyId : keyId ,
492
- CryptoKey : & kmspb.CryptoKey {
493
- Purpose : kmspb .CryptoKey_ENCRYPT_DECRYPT ,
494
- VersionTemplate : & kmspb.CryptoKeyVersionTemplate {
495
- Algorithm : kmspb .CryptoKeyVersion_GOOGLE_SYMMETRIC_ENCRYPTION ,
496
- },
497
- },
498
- }
499
- key , err := kmsClient .CreateCryptoKey (ctx , keyReq )
500
- Expect (err ).To (BeNil (), "Failed to create crypto key %v in key ring %v" , keyId , keyRing .Name )
501
-
502
- keyVersions := []string {}
503
- keyVersionReq := & kmspb.ListCryptoKeyVersionsRequest {
504
- Parent : key .Name ,
505
- }
506
-
507
- it := kmsClient .ListCryptoKeyVersions (ctx , keyVersionReq )
508
-
509
- for {
510
- keyVersion , err := it .Next ()
511
- if err == iterator .Done {
512
- break
513
- }
514
- Expect (err ).To (BeNil (), "Failed to list crypto key versions" )
515
-
516
- keyVersions = append (keyVersions , keyVersion .Name )
517
- }
472
+ key , keyVersions := setupKeyRing (ctx , parentName , keyRingId )
518
473
519
474
// Defer deletion of all key versions
520
475
// https://cloud.google.com/kms/docs/destroy-restore
@@ -524,7 +479,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
524
479
destroyKeyReq := & kmspb.DestroyCryptoKeyVersionRequest {
525
480
Name : keyVersion ,
526
481
}
527
- _ , err = kmsClient .DestroyCryptoKeyVersion (ctx , destroyKeyReq )
482
+ _ , err : = kmsClient .DestroyCryptoKeyVersion (ctx , destroyKeyReq )
528
483
Expect (err ).To (BeNil (), "Failed to destroy crypto key version: %v" , keyVersion )
529
484
}
530
485
@@ -619,10 +574,10 @@ var _ = Describe("GCE PD CSI Driver", func() {
619
574
620
575
nodeID := testContext .Instance .GetNodeID ()
621
576
622
- _ , volID := createAndValidateUniqueZonalDisk (client , p , z )
577
+ _ , volID := createAndValidateUniqueZonalDisk (client , p , z , standardDiskType )
623
578
defer deleteVolumeOrError (client , volID )
624
579
625
- _ , secondVolID := createAndValidateUniqueZonalDisk (client , p , z )
580
+ _ , secondVolID := createAndValidateUniqueZonalDisk (client , p , z , standardDiskType )
626
581
defer deleteVolumeOrError (client , secondVolID )
627
582
628
583
// Attach volID to current instance
@@ -720,7 +675,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
720
675
client := testContext .Client
721
676
instance := testContext .Instance
722
677
723
- volName , volID := createAndValidateUniqueZonalDisk (client , p , z )
678
+ volName , volID := createAndValidateUniqueZonalDisk (client , p , z , standardDiskType )
724
679
725
680
defer func () {
726
681
// Delete Disk
@@ -757,7 +712,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
757
712
client := testContext .Client
758
713
instance := testContext .Instance
759
714
760
- volName , volID := createAndValidateUniqueZonalDisk (client , p , z )
715
+ volName , volID := createAndValidateUniqueZonalDisk (client , p , z , standardDiskType )
761
716
762
717
defer func () {
763
718
// Delete Disk
@@ -799,7 +754,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
799
754
zone := "us-east1-a"
800
755
801
756
// Create and Validate Disk
802
- volName , volID := createAndValidateUniqueZonalMultiWriterDisk (client , p , zone )
757
+ volName , volID := createAndValidateUniqueZonalMultiWriterDisk (client , p , zone , standardDiskType )
803
758
804
759
defer func () {
805
760
// Delete Disk
@@ -821,7 +776,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
821
776
instance := testContext .Instance
822
777
823
778
// Create and Validate Disk
824
- volName , volID := createAndValidateUniqueZonalMultiWriterDisk (client , p , z )
779
+ volName , volID := createAndValidateUniqueZonalMultiWriterDisk (client , p , z , standardDiskType )
825
780
826
781
defer func () {
827
782
// Delete Disk
@@ -901,7 +856,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
901
856
client := testContext .Client
902
857
903
858
// Create Disk
904
- volName , volID := createAndValidateUniqueZonalDisk (client , p , z )
859
+ volName , volID := createAndValidateUniqueZonalDisk (client , p , z , standardDiskType )
905
860
906
861
// Create Snapshot
907
862
snapshotName := testNamePrefix + string (uuid .NewUUID ())
@@ -962,7 +917,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
962
917
client := testContext .Client
963
918
964
919
// Create Disk
965
- volName , volID := createAndValidateUniqueZonalDisk (client , p , z )
920
+ volName , volID := createAndValidateUniqueZonalDisk (client , p , z , standardDiskType )
966
921
967
922
// Create Snapshot
968
923
snapshotName := testNamePrefix + string (uuid .NewUUID ())
@@ -1023,7 +978,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
1023
978
p , z , _ := controllerInstance .GetIdentity ()
1024
979
1025
980
// Create Source Disk
1026
- _ , srcVolID := createAndValidateUniqueZonalDisk (controllerClient , p , z )
981
+ _ , srcVolID := createAndValidateUniqueZonalDisk (controllerClient , p , z , standardDiskType )
1027
982
1028
983
// Create Disk
1029
984
volName := testNamePrefix + string (uuid .NewUUID ())
@@ -1203,7 +1158,7 @@ func equalWithinEpsilon(a, b, epsiolon int64) bool {
1203
1158
return b - a < epsiolon
1204
1159
}
1205
1160
1206
- func createAndValidateUniqueZonalDisk (client * remote.CsiClient , project , zone string ) (volName , volID string ) {
1161
+ func createAndValidateUniqueZonalDisk (client * remote.CsiClient , project , zone string , diskType string ) (volName , volID string ) {
1207
1162
// Create Disk
1208
1163
var err error
1209
1164
volName = testNamePrefix + string (uuid .NewUUID ())
@@ -1220,7 +1175,7 @@ func createAndValidateUniqueZonalDisk(client *remote.CsiClient, project, zone st
1220
1175
// Validate Disk Created
1221
1176
cloudDisk , err := computeService .Disks .Get (project , zone , volName ).Do ()
1222
1177
Expect (err ).To (BeNil (), "Could not get disk from cloud directly" )
1223
- Expect (cloudDisk .Type ).To (ContainSubstring (standardDiskType ))
1178
+ Expect (cloudDisk .Type ).To (ContainSubstring (diskType ))
1224
1179
Expect (cloudDisk .Status ).To (Equal (readyState ))
1225
1180
Expect (cloudDisk .SizeGb ).To (Equal (defaultSizeGb ))
1226
1181
Expect (cloudDisk .Name ).To (Equal (volName ))
@@ -1239,7 +1194,7 @@ func deleteVolumeOrError(client *remote.CsiClient, volID string) {
1239
1194
Expect (gce .IsGCEError (err , "notFound" )).To (BeTrue (), "Expected disk to not be found" )
1240
1195
}
1241
1196
1242
- func createAndValidateUniqueZonalMultiWriterDisk (client * remote.CsiClient , project , zone string ) (string , string ) {
1197
+ func createAndValidateUniqueZonalMultiWriterDisk (client * remote.CsiClient , project , zone string , diskType string ) (string , string ) {
1243
1198
// Create Disk
1244
1199
volName := testNamePrefix + string (uuid .NewUUID ())
1245
1200
volID , err := client .CreateVolumeWithCaps (volName , nil , defaultMwSizeGb ,
@@ -1265,7 +1220,7 @@ func createAndValidateUniqueZonalMultiWriterDisk(client *remote.CsiClient, proje
1265
1220
// Validate Disk Created
1266
1221
cloudDisk , err := computeAlphaService .Disks .Get (project , zone , volName ).Do ()
1267
1222
Expect (err ).To (BeNil (), "Could not get disk from cloud directly" )
1268
- Expect (cloudDisk .Type ).To (ContainSubstring (standardDiskType ))
1223
+ Expect (cloudDisk .Type ).To (ContainSubstring (diskType ))
1269
1224
Expect (cloudDisk .Status ).To (Equal (readyState ))
1270
1225
Expect (cloudDisk .SizeGb ).To (Equal (defaultMwSizeGb ))
1271
1226
Expect (cloudDisk .Name ).To (Equal (volName ))
@@ -1288,3 +1243,53 @@ func zoneFromURL(url string) string {
1288
1243
}
1289
1244
return tokens [len (tokens )- 1 ]
1290
1245
}
1246
+
1247
+ func setupKeyRing (ctx context.Context , parentName string , keyRingId string ) (* kmspb.CryptoKey , []string ) {
1248
+ // Create KeyRing
1249
+ ringReq := & kmspb.CreateKeyRingRequest {
1250
+ Parent : parentName ,
1251
+ KeyRingId : keyRingId ,
1252
+ }
1253
+ keyRing , err := kmsClient .CreateKeyRing (ctx , ringReq )
1254
+ if ! gce .IsGCEError (err , "alreadyExists" ) {
1255
+ getKeyRingReq := & kmspb.GetKeyRingRequest {
1256
+ Name : fmt .Sprintf ("%s/keyRings/%s" , parentName , keyRingId ),
1257
+ }
1258
+ keyRing , err = kmsClient .GetKeyRing (ctx , getKeyRingReq )
1259
+
1260
+ }
1261
+ Expect (err ).To (BeNil (), "Failed to create or get key ring %v" , keyRingId )
1262
+
1263
+ // Create CryptoKey in KeyRing
1264
+ keyId := "test-key-" + string (uuid .NewUUID ())
1265
+ keyReq := & kmspb.CreateCryptoKeyRequest {
1266
+ Parent : keyRing .Name ,
1267
+ CryptoKeyId : keyId ,
1268
+ CryptoKey : & kmspb.CryptoKey {
1269
+ Purpose : kmspb .CryptoKey_ENCRYPT_DECRYPT ,
1270
+ VersionTemplate : & kmspb.CryptoKeyVersionTemplate {
1271
+ Algorithm : kmspb .CryptoKeyVersion_GOOGLE_SYMMETRIC_ENCRYPTION ,
1272
+ },
1273
+ },
1274
+ }
1275
+ key , err := kmsClient .CreateCryptoKey (ctx , keyReq )
1276
+ Expect (err ).To (BeNil (), "Failed to create crypto key %v in key ring %v" , keyId , keyRing .Name )
1277
+
1278
+ keyVersions := []string {}
1279
+ keyVersionReq := & kmspb.ListCryptoKeyVersionsRequest {
1280
+ Parent : key .Name ,
1281
+ }
1282
+
1283
+ it := kmsClient .ListCryptoKeyVersions (ctx , keyVersionReq )
1284
+
1285
+ for {
1286
+ keyVersion , err := it .Next ()
1287
+ if err == iterator .Done {
1288
+ break
1289
+ }
1290
+ Expect (err ).To (BeNil (), "Failed to list crypto key versions" )
1291
+
1292
+ keyVersions = append (keyVersions , keyVersion .Name )
1293
+ }
1294
+ return key , keyVersions
1295
+ }
0 commit comments