@@ -70,7 +70,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
70
70
instance := testContext .Instance
71
71
72
72
// Create Disk
73
- volName , volID := createAndValidateUniqueZonalDisk (client , p , z )
73
+ volName , volID := createAndValidateUniqueZonalDisk (client , p , z , standardDiskType )
74
74
75
75
defer func () {
76
76
// Delete Disk
@@ -95,7 +95,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
95
95
instance := testContext .Instance
96
96
97
97
// Create Disk
98
- volName , volID := createAndValidateUniqueZonalDisk (client , p , z )
98
+ volName , volID := createAndValidateUniqueZonalDisk (client , p , z , standardDiskType )
99
99
100
100
defer func () {
101
101
// Delete Disk
@@ -167,7 +167,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
167
167
instance := testContext .Instance
168
168
169
169
// Create Disk
170
- volName , volID := createAndValidateUniqueZonalDisk (client , p , z )
170
+ volName , volID := createAndValidateUniqueZonalDisk (client , p , z , standardDiskType )
171
171
172
172
defer func () {
173
173
// Delete Disk
@@ -266,7 +266,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
266
266
client := testContext .Client
267
267
instance := testContext .Instance
268
268
269
- volName , _ := createAndValidateUniqueZonalDisk (client , p , z )
269
+ volName , _ := createAndValidateUniqueZonalDisk (client , p , z , standardDiskType )
270
270
271
271
underSpecifiedID := common .GenerateUnderspecifiedVolumeID (volName , true /* isZonal */ )
272
272
@@ -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
@@ -721,7 +676,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
721
676
client := testContext .Client
722
677
instance := testContext .Instance
723
678
724
- volName , volID := createAndValidateUniqueZonalDisk (client , p , z )
679
+ volName , volID := createAndValidateUniqueZonalDisk (client , p , z , standardDiskType )
725
680
726
681
defer func () {
727
682
// Delete Disk
@@ -758,7 +713,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
758
713
client := testContext .Client
759
714
instance := testContext .Instance
760
715
761
- volName , volID := createAndValidateUniqueZonalDisk (client , p , z )
716
+ volName , volID := createAndValidateUniqueZonalDisk (client , p , z , standardDiskType )
762
717
763
718
defer func () {
764
719
// Delete Disk
@@ -800,7 +755,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
800
755
zone := "us-east1-a"
801
756
802
757
// Create and Validate Disk
803
- volName , volID := createAndValidateUniqueZonalMultiWriterDisk (client , p , zone )
758
+ volName , volID := createAndValidateUniqueZonalMultiWriterDisk (client , p , zone , standardDiskType )
804
759
805
760
defer func () {
806
761
// Delete Disk
@@ -822,7 +777,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
822
777
instance := testContext .Instance
823
778
824
779
// Create and Validate Disk
825
- volName , volID := createAndValidateUniqueZonalMultiWriterDisk (client , p , z )
780
+ volName , volID := createAndValidateUniqueZonalMultiWriterDisk (client , p , z , standardDiskType )
826
781
827
782
defer func () {
828
783
// Delete Disk
@@ -902,7 +857,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
902
857
client := testContext .Client
903
858
904
859
// Create Disk
905
- volName , volID := createAndValidateUniqueZonalDisk (client , p , z )
860
+ volName , volID := createAndValidateUniqueZonalDisk (client , p , z , standardDiskType )
906
861
907
862
// Create Snapshot
908
863
snapshotName := testNamePrefix + string (uuid .NewUUID ())
@@ -963,7 +918,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
963
918
client := testContext .Client
964
919
965
920
// Create Disk
966
- volName , volID := createAndValidateUniqueZonalDisk (client , p , z )
921
+ volName , volID := createAndValidateUniqueZonalDisk (client , p , z , standardDiskType )
967
922
968
923
// Create Snapshot
969
924
snapshotName := testNamePrefix + string (uuid .NewUUID ())
@@ -1024,7 +979,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
1024
979
p , z , _ := controllerInstance .GetIdentity ()
1025
980
1026
981
// Create Source Disk
1027
- _ , srcVolID := createAndValidateUniqueZonalDisk (controllerClient , p , z )
982
+ _ , srcVolID := createAndValidateUniqueZonalDisk (controllerClient , p , z , standardDiskType )
1028
983
1029
984
// Create Disk
1030
985
volName := testNamePrefix + string (uuid .NewUUID ())
@@ -1133,7 +1088,7 @@ func equalWithinEpsilon(a, b, epsiolon int64) bool {
1133
1088
return b - a < epsiolon
1134
1089
}
1135
1090
1136
- func createAndValidateUniqueZonalDisk (client * remote.CsiClient , project , zone string ) (volName , volID string ) {
1091
+ func createAndValidateUniqueZonalDisk (client * remote.CsiClient , project , zone string , diskType string ) (volName , volID string ) {
1137
1092
// Create Disk
1138
1093
var err error
1139
1094
volName = testNamePrefix + string (uuid .NewUUID ())
@@ -1150,7 +1105,7 @@ func createAndValidateUniqueZonalDisk(client *remote.CsiClient, project, zone st
1150
1105
// Validate Disk Created
1151
1106
cloudDisk , err := computeService .Disks .Get (project , zone , volName ).Do ()
1152
1107
Expect (err ).To (BeNil (), "Could not get disk from cloud directly" )
1153
- Expect (cloudDisk .Type ).To (ContainSubstring (standardDiskType ))
1108
+ Expect (cloudDisk .Type ).To (ContainSubstring (diskType ))
1154
1109
Expect (cloudDisk .Status ).To (Equal (readyState ))
1155
1110
Expect (cloudDisk .SizeGb ).To (Equal (defaultSizeGb ))
1156
1111
Expect (cloudDisk .Name ).To (Equal (volName ))
@@ -1169,7 +1124,7 @@ func deleteVolumeOrError(client *remote.CsiClient, volID string) {
1169
1124
Expect (gce .IsGCEError (err , "notFound" )).To (BeTrue (), "Expected disk to not be found" )
1170
1125
}
1171
1126
1172
- func createAndValidateUniqueZonalMultiWriterDisk (client * remote.CsiClient , project , zone string ) (string , string ) {
1127
+ func createAndValidateUniqueZonalMultiWriterDisk (client * remote.CsiClient , project , zone string , diskType string ) (string , string ) {
1173
1128
// Create Disk
1174
1129
volName := testNamePrefix + string (uuid .NewUUID ())
1175
1130
volID , err := client .CreateVolumeWithCaps (volName , nil , defaultMwSizeGb ,
@@ -1195,7 +1150,7 @@ func createAndValidateUniqueZonalMultiWriterDisk(client *remote.CsiClient, proje
1195
1150
// Validate Disk Created
1196
1151
cloudDisk , err := computeAlphaService .Disks .Get (project , zone , volName ).Do ()
1197
1152
Expect (err ).To (BeNil (), "Could not get disk from cloud directly" )
1198
- Expect (cloudDisk .Type ).To (ContainSubstring (standardDiskType ))
1153
+ Expect (cloudDisk .Type ).To (ContainSubstring (diskType ))
1199
1154
Expect (cloudDisk .Status ).To (Equal (readyState ))
1200
1155
Expect (cloudDisk .SizeGb ).To (Equal (defaultMwSizeGb ))
1201
1156
Expect (cloudDisk .Name ).To (Equal (volName ))
@@ -1209,3 +1164,53 @@ func cleanSelfLink(selfLink string) string {
1209
1164
temp = strings .TrimPrefix (temp , gce .GCEComputeBetaAPIEndpoint )
1210
1165
return strings .TrimPrefix (temp , gce .GCEComputeAlphaAPIEndpoint )
1211
1166
}
1167
+
1168
+ func setupKeyRing (ctx context.Context , parentName string , keyRingId string ) (* kmspb.CryptoKey , []string ) {
1169
+ // Create KeyRing
1170
+ ringReq := & kmspb.CreateKeyRingRequest {
1171
+ Parent : parentName ,
1172
+ KeyRingId : keyRingId ,
1173
+ }
1174
+ keyRing , err := kmsClient .CreateKeyRing (ctx , ringReq )
1175
+ if ! gce .IsGCEError (err , "alreadyExists" ) {
1176
+ getKeyRingReq := & kmspb.GetKeyRingRequest {
1177
+ Name : fmt .Sprintf ("%s/keyRings/%s" , parentName , keyRingId ),
1178
+ }
1179
+ keyRing , err = kmsClient .GetKeyRing (ctx , getKeyRingReq )
1180
+
1181
+ }
1182
+ Expect (err ).To (BeNil (), "Failed to create or get key ring %v" , keyRingId )
1183
+
1184
+ // Create CryptoKey in KeyRing
1185
+ keyId := "test-key-" + string (uuid .NewUUID ())
1186
+ keyReq := & kmspb.CreateCryptoKeyRequest {
1187
+ Parent : keyRing .Name ,
1188
+ CryptoKeyId : keyId ,
1189
+ CryptoKey : & kmspb.CryptoKey {
1190
+ Purpose : kmspb .CryptoKey_ENCRYPT_DECRYPT ,
1191
+ VersionTemplate : & kmspb.CryptoKeyVersionTemplate {
1192
+ Algorithm : kmspb .CryptoKeyVersion_GOOGLE_SYMMETRIC_ENCRYPTION ,
1193
+ },
1194
+ },
1195
+ }
1196
+ key , err := kmsClient .CreateCryptoKey (ctx , keyReq )
1197
+ Expect (err ).To (BeNil (), "Failed to create crypto key %v in key ring %v" , keyId , keyRing .Name )
1198
+
1199
+ keyVersions := []string {}
1200
+ keyVersionReq := & kmspb.ListCryptoKeyVersionsRequest {
1201
+ Parent : key .Name ,
1202
+ }
1203
+
1204
+ it := kmsClient .ListCryptoKeyVersions (ctx , keyVersionReq )
1205
+
1206
+ for {
1207
+ keyVersion , err := it .Next ()
1208
+ if err == iterator .Done {
1209
+ break
1210
+ }
1211
+ Expect (err ).To (BeNil (), "Failed to list crypto key versions" )
1212
+
1213
+ keyVersions = append (keyVersions , keyVersion .Name )
1214
+ }
1215
+ return key , keyVersions
1216
+ }
0 commit comments