Skip to content

Commit c86cc5e

Browse files
Test pd-extreme e2e test case
1 parent faeccda commit c86cc5e

File tree

3 files changed

+356
-65
lines changed

3 files changed

+356
-65
lines changed

test/e2e/tests/single_zone_e2e_test.go

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

7272
// Create Disk
73-
volName, volID := createAndValidateUniqueZonalDisk(client, p, z)
73+
volName, volID := createAndValidateUniqueZonalDisk(client, p, z, standardDiskType)
7474

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

9797
// Create Disk
98-
volName, volID := createAndValidateUniqueZonalDisk(client, p, z)
98+
volName, volID := createAndValidateUniqueZonalDisk(client, p, z, standardDiskType)
9999

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

169169
// Create Disk
170-
volName, volID := createAndValidateUniqueZonalDisk(client, p, z)
170+
volName, volID := createAndValidateUniqueZonalDisk(client, p, z, standardDiskType)
171171

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

269-
volName, _ := createAndValidateUniqueZonalDisk(client, p, z)
269+
volName, _ := createAndValidateUniqueZonalDisk(client, p, z, standardDiskType)
270270

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

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

416-
volName, volID := createAndValidateUniqueZonalDisk(client, p, z)
416+
volName, volID := createAndValidateUniqueZonalDisk(client, p, z, standardDiskType)
417417

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

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

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

@@ -619,10 +574,10 @@ var _ = Describe("GCE PD CSI Driver", func() {
619574

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

622-
_, volID := createAndValidateUniqueZonalDisk(client, p, z)
577+
_, volID := createAndValidateUniqueZonalDisk(client, p, z, standardDiskType)
623578
defer deleteVolumeOrError(client, volID)
624579

625-
_, secondVolID := createAndValidateUniqueZonalDisk(client, p, z)
580+
_, secondVolID := createAndValidateUniqueZonalDisk(client, p, z, standardDiskType)
626581
defer deleteVolumeOrError(client, secondVolID)
627582

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

724-
volName, volID := createAndValidateUniqueZonalDisk(client, p, z)
679+
volName, volID := createAndValidateUniqueZonalDisk(client, p, z, standardDiskType)
725680

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

761-
volName, volID := createAndValidateUniqueZonalDisk(client, p, z)
716+
volName, volID := createAndValidateUniqueZonalDisk(client, p, z, standardDiskType)
762717

763718
defer func() {
764719
// Delete Disk
@@ -800,7 +755,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
800755
zone := "us-east1-a"
801756

802757
// Create and Validate Disk
803-
volName, volID := createAndValidateUniqueZonalMultiWriterDisk(client, p, zone)
758+
volName, volID := createAndValidateUniqueZonalMultiWriterDisk(client, p, zone, standardDiskType)
804759

805760
defer func() {
806761
// Delete Disk
@@ -822,7 +777,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
822777
instance := testContext.Instance
823778

824779
// Create and Validate Disk
825-
volName, volID := createAndValidateUniqueZonalMultiWriterDisk(client, p, z)
780+
volName, volID := createAndValidateUniqueZonalMultiWriterDisk(client, p, z, standardDiskType)
826781

827782
defer func() {
828783
// Delete Disk
@@ -902,7 +857,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
902857
client := testContext.Client
903858

904859
// Create Disk
905-
volName, volID := createAndValidateUniqueZonalDisk(client, p, z)
860+
volName, volID := createAndValidateUniqueZonalDisk(client, p, z, standardDiskType)
906861

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

965920
// Create Disk
966-
volName, volID := createAndValidateUniqueZonalDisk(client, p, z)
921+
volName, volID := createAndValidateUniqueZonalDisk(client, p, z, standardDiskType)
967922

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

1026981
// Create Source Disk
1027-
_, srcVolID := createAndValidateUniqueZonalDisk(controllerClient, p, z)
982+
_, srcVolID := createAndValidateUniqueZonalDisk(controllerClient, p, z, standardDiskType)
1028983

1029984
// Create Disk
1030985
volName := testNamePrefix + string(uuid.NewUUID())
@@ -1132,7 +1087,7 @@ func equalWithinEpsilon(a, b, epsiolon int64) bool {
11321087
return b-a < epsiolon
11331088
}
11341089

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) {
11361091
// Create Disk
11371092
var err error
11381093
volName = testNamePrefix + string(uuid.NewUUID())
@@ -1149,7 +1104,7 @@ func createAndValidateUniqueZonalDisk(client *remote.CsiClient, project, zone st
11491104
// Validate Disk Created
11501105
cloudDisk, err := computeService.Disks.Get(project, zone, volName).Do()
11511106
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))
11531108
Expect(cloudDisk.Status).To(Equal(readyState))
11541109
Expect(cloudDisk.SizeGb).To(Equal(defaultSizeGb))
11551110
Expect(cloudDisk.Name).To(Equal(volName))
@@ -1168,7 +1123,7 @@ func deleteVolumeOrError(client *remote.CsiClient, volID string) {
11681123
Expect(gce.IsGCEError(err, "notFound")).To(BeTrue(), "Expected disk to not be found")
11691124
}
11701125

1171-
func createAndValidateUniqueZonalMultiWriterDisk(client *remote.CsiClient, project, zone string) (string, string) {
1126+
func createAndValidateUniqueZonalMultiWriterDisk(client *remote.CsiClient, project, zone string, diskType string) (string, string) {
11721127
// Create Disk
11731128
volName := testNamePrefix + string(uuid.NewUUID())
11741129
volID, err := client.CreateVolumeWithCaps(volName, nil, defaultMwSizeGb,
@@ -1194,7 +1149,7 @@ func createAndValidateUniqueZonalMultiWriterDisk(client *remote.CsiClient, proje
11941149
// Validate Disk Created
11951150
cloudDisk, err := computeAlphaService.Disks.Get(project, zone, volName).Do()
11961151
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))
11981153
Expect(cloudDisk.Status).To(Equal(readyState))
11991154
Expect(cloudDisk.SizeGb).To(Equal(defaultMwSizeGb))
12001155
Expect(cloudDisk.Name).To(Equal(volName))
@@ -1208,3 +1163,53 @@ func cleanSelfLink(selfLink string) string {
12081163
temp = strings.TrimPrefix(temp, gce.GCEComputeBetaAPIEndpoint)
12091164
return strings.TrimPrefix(temp, gce.GCEComputeAlphaAPIEndpoint)
12101165
}
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

Comments
 (0)