Skip to content

Commit a11cd4b

Browse files
Test pd-extreme e2e test case
1 parent 3f3ed63 commit a11cd4b

File tree

4 files changed

+357
-66
lines changed

4 files changed

+357
-66
lines changed

test/e2e/tests/single_zone_e2e_test.go

+70-65
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
7171
instance := testContext.Instance
7272

7373
// Create Disk
74-
volName, volID := createAndValidateUniqueZonalDisk(client, p, z)
74+
volName, volID := createAndValidateUniqueZonalDisk(client, p, z, standardDiskType)
7575

7676
defer func() {
7777
// Delete Disk
@@ -96,7 +96,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
9696
instance := testContext.Instance
9797

9898
// Create Disk
99-
volName, volID := createAndValidateUniqueZonalDisk(client, p, z)
99+
volName, volID := createAndValidateUniqueZonalDisk(client, p, z, standardDiskType)
100100

101101
defer func() {
102102
// Delete Disk
@@ -168,7 +168,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
168168
instance := testContext.Instance
169169

170170
// Create Disk
171-
volName, volID := createAndValidateUniqueZonalDisk(client, p, z)
171+
volName, volID := createAndValidateUniqueZonalDisk(client, p, z, standardDiskType)
172172

173173
defer func() {
174174
// Delete Disk
@@ -267,7 +267,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
267267
client := testContext.Client
268268
instance := testContext.Instance
269269

270-
volName, _ := createAndValidateUniqueZonalDisk(client, p, z)
270+
volName, _ := createAndValidateUniqueZonalDisk(client, p, z, standardDiskType)
271271

272272
underSpecifiedID := common.GenerateUnderspecifiedVolumeID(volName, true /* isZonal */)
273273

@@ -414,7 +414,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
414414
p, z, _ := testContext.Instance.GetIdentity()
415415
client := testContext.Client
416416

417-
volName, volID := createAndValidateUniqueZonalDisk(client, p, z)
417+
volName, volID := createAndValidateUniqueZonalDisk(client, p, z, standardDiskType)
418418

419419
// Create Snapshot
420420
snapshotName := testNamePrefix + string(uuid.NewUUID())
@@ -470,52 +470,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
470470
parentName := fmt.Sprintf("projects/%s/locations/%s", p, locationID)
471471
keyRingId := "gce-pd-csi-test-ring"
472472

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)
519474

520475
// Defer deletion of all key versions
521476
// https://cloud.google.com/kms/docs/destroy-restore
@@ -525,7 +480,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
525480
destroyKeyReq := &kmspb.DestroyCryptoKeyVersionRequest{
526481
Name: keyVersion,
527482
}
528-
_, err = kmsClient.DestroyCryptoKeyVersion(ctx, destroyKeyReq)
483+
_, err := kmsClient.DestroyCryptoKeyVersion(ctx, destroyKeyReq)
529484
Expect(err).To(BeNil(), "Failed to destroy crypto key version: %v", keyVersion)
530485
}
531486

@@ -620,10 +575,10 @@ var _ = Describe("GCE PD CSI Driver", func() {
620575

621576
nodeID := testContext.Instance.GetNodeID()
622577

623-
_, volID := createAndValidateUniqueZonalDisk(client, p, z)
578+
_, volID := createAndValidateUniqueZonalDisk(client, p, z, standardDiskType)
624579
defer deleteVolumeOrError(client, volID)
625580

626-
_, secondVolID := createAndValidateUniqueZonalDisk(client, p, z)
581+
_, secondVolID := createAndValidateUniqueZonalDisk(client, p, z, standardDiskType)
627582
defer deleteVolumeOrError(client, secondVolID)
628583

629584
// Attach volID to current instance
@@ -722,7 +677,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
722677
client := testContext.Client
723678
instance := testContext.Instance
724679

725-
volName, volID := createAndValidateUniqueZonalDisk(client, p, z)
680+
volName, volID := createAndValidateUniqueZonalDisk(client, p, z, standardDiskType)
726681

727682
defer func() {
728683
// Delete Disk
@@ -759,7 +714,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
759714
client := testContext.Client
760715
instance := testContext.Instance
761716

762-
volName, volID := createAndValidateUniqueZonalDisk(client, p, z)
717+
volName, volID := createAndValidateUniqueZonalDisk(client, p, z, standardDiskType)
763718

764719
defer func() {
765720
// Delete Disk
@@ -801,7 +756,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
801756
zone := "us-east1-a"
802757

803758
// Create and Validate Disk
804-
volName, volID := createAndValidateUniqueZonalMultiWriterDisk(client, p, zone)
759+
volName, volID := createAndValidateUniqueZonalMultiWriterDisk(client, p, zone, standardDiskType)
805760

806761
defer func() {
807762
// Delete Disk
@@ -823,7 +778,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
823778
instance := testContext.Instance
824779

825780
// Create and Validate Disk
826-
volName, volID := createAndValidateUniqueZonalMultiWriterDisk(client, p, z)
781+
volName, volID := createAndValidateUniqueZonalMultiWriterDisk(client, p, z, standardDiskType)
827782

828783
defer func() {
829784
// Delete Disk
@@ -903,7 +858,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
903858
client := testContext.Client
904859

905860
// Create Disk
906-
volName, volID := createAndValidateUniqueZonalDisk(client, p, z)
861+
volName, volID := createAndValidateUniqueZonalDisk(client, p, z, standardDiskType)
907862

908863
// Create Snapshot
909864
snapshotName := testNamePrefix + string(uuid.NewUUID())
@@ -964,7 +919,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
964919
client := testContext.Client
965920

966921
// Create Disk
967-
volName, volID := createAndValidateUniqueZonalDisk(client, p, z)
922+
volName, volID := createAndValidateUniqueZonalDisk(client, p, z, standardDiskType)
968923

969924
// Create Snapshot
970925
snapshotName := testNamePrefix + string(uuid.NewUUID())
@@ -1025,7 +980,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
1025980
p, z, _ := controllerInstance.GetIdentity()
1026981

1027982
// Create Source Disk
1028-
_, srcVolID := createAndValidateUniqueZonalDisk(controllerClient, p, z)
983+
_, srcVolID := createAndValidateUniqueZonalDisk(controllerClient, p, z, standardDiskType)
1029984

1030985
// Create Disk
1031986
volName := testNamePrefix + string(uuid.NewUUID())
@@ -1167,7 +1122,7 @@ func equalWithinEpsilon(a, b, epsiolon int64) bool {
11671122
return b-a < epsiolon
11681123
}
11691124

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) {
11711126
// Create Disk
11721127
var err error
11731128
volName = testNamePrefix + string(uuid.NewUUID())
@@ -1184,7 +1139,7 @@ func createAndValidateUniqueZonalDisk(client *remote.CsiClient, project, zone st
11841139
// Validate Disk Created
11851140
cloudDisk, err := computeService.Disks.Get(project, zone, volName).Do()
11861141
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))
11881143
Expect(cloudDisk.Status).To(Equal(readyState))
11891144
Expect(cloudDisk.SizeGb).To(Equal(defaultSizeGb))
11901145
Expect(cloudDisk.Name).To(Equal(volName))
@@ -1203,7 +1158,7 @@ func deleteVolumeOrError(client *remote.CsiClient, volID string) {
12031158
Expect(gce.IsGCEError(err, "notFound")).To(BeTrue(), "Expected disk to not be found")
12041159
}
12051160

1206-
func createAndValidateUniqueZonalMultiWriterDisk(client *remote.CsiClient, project, zone string) (string, string) {
1161+
func createAndValidateUniqueZonalMultiWriterDisk(client *remote.CsiClient, project, zone string, diskType string) (string, string) {
12071162
// Create Disk
12081163
volName := testNamePrefix + string(uuid.NewUUID())
12091164
volID, err := client.CreateVolumeWithCaps(volName, nil, defaultMwSizeGb,
@@ -1229,7 +1184,7 @@ func createAndValidateUniqueZonalMultiWriterDisk(client *remote.CsiClient, proje
12291184
// Validate Disk Created
12301185
cloudDisk, err := computeAlphaService.Disks.Get(project, zone, volName).Do()
12311186
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))
12331188
Expect(cloudDisk.Status).To(Equal(readyState))
12341189
Expect(cloudDisk.SizeGb).To(Equal(defaultMwSizeGb))
12351190
Expect(cloudDisk.Name).To(Equal(volName))
@@ -1242,3 +1197,53 @@ func cleanSelfLink(selfLink string) string {
12421197
r, _ := regexp.Compile("https:\\/\\/www.*apis.com\\/.*(v1|beta|alpha)\\/")
12431198
return r.ReplaceAllString(selfLink, "")
12441199
}
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

Comments
 (0)