Skip to content

Commit 3dd110c

Browse files
Test pd-extreme e2e test case
1 parent 1d30b96 commit 3dd110c

File tree

3 files changed

+356
-65
lines changed

3 files changed

+356
-65
lines changed

test/e2e/tests/single_zone_e2e_test.go

Lines changed: 70 additions & 65 deletions
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

@@ -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
@@ -720,7 +675,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
720675
client := testContext.Client
721676
instance := testContext.Instance
722677

723-
volName, volID := createAndValidateUniqueZonalDisk(client, p, z)
678+
volName, volID := createAndValidateUniqueZonalDisk(client, p, z, standardDiskType)
724679

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

760-
volName, volID := createAndValidateUniqueZonalDisk(client, p, z)
715+
volName, volID := createAndValidateUniqueZonalDisk(client, p, z, standardDiskType)
761716

762717
defer func() {
763718
// Delete Disk
@@ -799,7 +754,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
799754
zone := "us-east1-a"
800755

801756
// Create and Validate Disk
802-
volName, volID := createAndValidateUniqueZonalMultiWriterDisk(client, p, zone)
757+
volName, volID := createAndValidateUniqueZonalMultiWriterDisk(client, p, zone, standardDiskType)
803758

804759
defer func() {
805760
// Delete Disk
@@ -821,7 +776,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
821776
instance := testContext.Instance
822777

823778
// Create and Validate Disk
824-
volName, volID := createAndValidateUniqueZonalMultiWriterDisk(client, p, z)
779+
volName, volID := createAndValidateUniqueZonalMultiWriterDisk(client, p, z, standardDiskType)
825780

826781
defer func() {
827782
// Delete Disk
@@ -901,7 +856,7 @@ var _ = Describe("GCE PD CSI Driver", func() {
901856
client := testContext.Client
902857

903858
// Create Disk
904-
volName, volID := createAndValidateUniqueZonalDisk(client, p, z)
859+
volName, volID := createAndValidateUniqueZonalDisk(client, p, z, standardDiskType)
905860

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

964919
// Create Disk
965-
volName, volID := createAndValidateUniqueZonalDisk(client, p, z)
920+
volName, volID := createAndValidateUniqueZonalDisk(client, p, z, standardDiskType)
966921

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

1025980
// Create Source Disk
1026-
_, srcVolID := createAndValidateUniqueZonalDisk(controllerClient, p, z)
981+
_, srcVolID := createAndValidateUniqueZonalDisk(controllerClient, p, z, standardDiskType)
1027982

1028983
// Create Disk
1029984
volName := testNamePrefix + string(uuid.NewUUID())
@@ -1203,7 +1158,7 @@ func equalWithinEpsilon(a, b, epsiolon int64) bool {
12031158
return b-a < epsiolon
12041159
}
12051160

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) {
12071162
// Create Disk
12081163
var err error
12091164
volName = testNamePrefix + string(uuid.NewUUID())
@@ -1220,7 +1175,7 @@ func createAndValidateUniqueZonalDisk(client *remote.CsiClient, project, zone st
12201175
// Validate Disk Created
12211176
cloudDisk, err := computeService.Disks.Get(project, zone, volName).Do()
12221177
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))
12241179
Expect(cloudDisk.Status).To(Equal(readyState))
12251180
Expect(cloudDisk.SizeGb).To(Equal(defaultSizeGb))
12261181
Expect(cloudDisk.Name).To(Equal(volName))
@@ -1239,7 +1194,7 @@ func deleteVolumeOrError(client *remote.CsiClient, volID string) {
12391194
Expect(gce.IsGCEError(err, "notFound")).To(BeTrue(), "Expected disk to not be found")
12401195
}
12411196

1242-
func createAndValidateUniqueZonalMultiWriterDisk(client *remote.CsiClient, project, zone string) (string, string) {
1197+
func createAndValidateUniqueZonalMultiWriterDisk(client *remote.CsiClient, project, zone string, diskType string) (string, string) {
12431198
// Create Disk
12441199
volName := testNamePrefix + string(uuid.NewUUID())
12451200
volID, err := client.CreateVolumeWithCaps(volName, nil, defaultMwSizeGb,
@@ -1265,7 +1220,7 @@ func createAndValidateUniqueZonalMultiWriterDisk(client *remote.CsiClient, proje
12651220
// Validate Disk Created
12661221
cloudDisk, err := computeAlphaService.Disks.Get(project, zone, volName).Do()
12671222
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))
12691224
Expect(cloudDisk.Status).To(Equal(readyState))
12701225
Expect(cloudDisk.SizeGb).To(Equal(defaultMwSizeGb))
12711226
Expect(cloudDisk.Name).To(Equal(volName))
@@ -1288,3 +1243,53 @@ func zoneFromURL(url string) string {
12881243
}
12891244
return tokens[len(tokens)-1]
12901245
}
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

Comments
 (0)