@@ -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 ())
@@ -1132,7 +1087,7 @@ func equalWithinEpsilon(a, b, epsiolon int64) bool {
1132
1087
return b - a < epsiolon
1133
1088
}
1134
1089
1135
- func createAndValidateUniqueZonalDisk (client * remote.CsiClient , project , zone string ) (volName , volID string ) {
1090
+ func createAndValidateUniqueZonalDisk (client * remote.CsiClient , project , zone string , diskType string ) (volName , volID string ) {
1136
1091
// Create Disk
1137
1092
var err error
1138
1093
volName = testNamePrefix + string (uuid .NewUUID ())
@@ -1149,7 +1104,7 @@ func createAndValidateUniqueZonalDisk(client *remote.CsiClient, project, zone st
1149
1104
// Validate Disk Created
1150
1105
cloudDisk , err := computeService .Disks .Get (project , zone , volName ).Do ()
1151
1106
Expect (err ).To (BeNil (), "Could not get disk from cloud directly" )
1152
- Expect (cloudDisk .Type ).To (ContainSubstring (standardDiskType ))
1107
+ Expect (cloudDisk .Type ).To (ContainSubstring (diskType ))
1153
1108
Expect (cloudDisk .Status ).To (Equal (readyState ))
1154
1109
Expect (cloudDisk .SizeGb ).To (Equal (defaultSizeGb ))
1155
1110
Expect (cloudDisk .Name ).To (Equal (volName ))
@@ -1168,7 +1123,7 @@ func deleteVolumeOrError(client *remote.CsiClient, volID string) {
1168
1123
Expect (gce .IsGCEError (err , "notFound" )).To (BeTrue (), "Expected disk to not be found" )
1169
1124
}
1170
1125
1171
- func createAndValidateUniqueZonalMultiWriterDisk (client * remote.CsiClient , project , zone string ) (string , string ) {
1126
+ func createAndValidateUniqueZonalMultiWriterDisk (client * remote.CsiClient , project , zone string , diskType string ) (string , string ) {
1172
1127
// Create Disk
1173
1128
volName := testNamePrefix + string (uuid .NewUUID ())
1174
1129
volID , err := client .CreateVolumeWithCaps (volName , nil , defaultMwSizeGb ,
@@ -1194,7 +1149,7 @@ func createAndValidateUniqueZonalMultiWriterDisk(client *remote.CsiClient, proje
1194
1149
// Validate Disk Created
1195
1150
cloudDisk , err := computeAlphaService .Disks .Get (project , zone , volName ).Do ()
1196
1151
Expect (err ).To (BeNil (), "Could not get disk from cloud directly" )
1197
- Expect (cloudDisk .Type ).To (ContainSubstring (standardDiskType ))
1152
+ Expect (cloudDisk .Type ).To (ContainSubstring (diskType ))
1198
1153
Expect (cloudDisk .Status ).To (Equal (readyState ))
1199
1154
Expect (cloudDisk .SizeGb ).To (Equal (defaultMwSizeGb ))
1200
1155
Expect (cloudDisk .Name ).To (Equal (volName ))
@@ -1208,3 +1163,53 @@ func cleanSelfLink(selfLink string) string {
1208
1163
temp = strings .TrimPrefix (temp , gce .GCEComputeBetaAPIEndpoint )
1209
1164
return strings .TrimPrefix (temp , gce .GCEComputeAlphaAPIEndpoint )
1210
1165
}
1166
+
1167
+ func setupKeyRing (ctx context.Context , parentName string , keyRingId string ) (* kmspb.CryptoKey , []string ) {
1168
+ // Create KeyRing
1169
+ ringReq := & kmspb.CreateKeyRingRequest {
1170
+ Parent : parentName ,
1171
+ KeyRingId : keyRingId ,
1172
+ }
1173
+ keyRing , err := kmsClient .CreateKeyRing (ctx , ringReq )
1174
+ if ! gce .IsGCEError (err , "alreadyExists" ) {
1175
+ getKeyRingReq := & kmspb.GetKeyRingRequest {
1176
+ Name : fmt .Sprintf ("%s/keyRings/%s" , parentName , keyRingId ),
1177
+ }
1178
+ keyRing , err = kmsClient .GetKeyRing (ctx , getKeyRingReq )
1179
+
1180
+ }
1181
+ Expect (err ).To (BeNil (), "Failed to create or get key ring %v" , keyRingId )
1182
+
1183
+ // Create CryptoKey in KeyRing
1184
+ keyId := "test-key-" + string (uuid .NewUUID ())
1185
+ keyReq := & kmspb.CreateCryptoKeyRequest {
1186
+ Parent : keyRing .Name ,
1187
+ CryptoKeyId : keyId ,
1188
+ CryptoKey : & kmspb.CryptoKey {
1189
+ Purpose : kmspb .CryptoKey_ENCRYPT_DECRYPT ,
1190
+ VersionTemplate : & kmspb.CryptoKeyVersionTemplate {
1191
+ Algorithm : kmspb .CryptoKeyVersion_GOOGLE_SYMMETRIC_ENCRYPTION ,
1192
+ },
1193
+ },
1194
+ }
1195
+ key , err := kmsClient .CreateCryptoKey (ctx , keyReq )
1196
+ Expect (err ).To (BeNil (), "Failed to create crypto key %v in key ring %v" , keyId , keyRing .Name )
1197
+
1198
+ keyVersions := []string {}
1199
+ keyVersionReq := & kmspb.ListCryptoKeyVersionsRequest {
1200
+ Parent : key .Name ,
1201
+ }
1202
+
1203
+ it := kmsClient .ListCryptoKeyVersions (ctx , keyVersionReq )
1204
+
1205
+ for {
1206
+ keyVersion , err := it .Next ()
1207
+ if err == iterator .Done {
1208
+ break
1209
+ }
1210
+ Expect (err ).To (BeNil (), "Failed to list crypto key versions" )
1211
+
1212
+ keyVersions = append (keyVersions , keyVersion .Name )
1213
+ }
1214
+ return key , keyVersions
1215
+ }
0 commit comments