Skip to content

Commit a793e5b

Browse files
authored
Merge pull request #1309 from sunnylovestiramisu/add-test
Add pd-extreme e2e test case of defaulting to default iops when iops not set
2 parents 5a51c74 + 4e8c9ec commit a793e5b

File tree

2 files changed

+67
-22
lines changed

2 files changed

+67
-22
lines changed

pkg/gce-cloud-provider/compute/gce-compute.go

+9-6
Original file line numberDiff line numberDiff line change
@@ -574,12 +574,15 @@ func (cloud *CloudProvider) insertZonalDisk(
574574
}
575575

576576
diskToCreate := &computev1.Disk{
577-
Name: volKey.Name,
578-
SizeGb: common.BytesToGbRoundUp(capBytes),
579-
Description: description,
580-
Type: cloud.GetDiskTypeURI(project, volKey, params.DiskType),
581-
Labels: params.Labels,
582-
ProvisionedIops: params.ProvisionedIOPSOnCreate,
577+
Name: volKey.Name,
578+
SizeGb: common.BytesToGbRoundUp(capBytes),
579+
Description: description,
580+
Type: cloud.GetDiskTypeURI(project, volKey, params.DiskType),
581+
Labels: params.Labels,
582+
}
583+
584+
if params.ProvisionedIOPSOnCreate > 0 {
585+
diskToCreate.ProvisionedIops = params.ProvisionedIOPSOnCreate
583586
}
584587

585588
if snapshotID != "" {

test/e2e/tests/single_zone_e2e_test.go

+58-16
Original file line numberDiff line numberDiff line change
@@ -44,22 +44,22 @@ import (
4444
const (
4545
testNamePrefix = "gcepd-csi-e2e-"
4646

47-
defaultSizeGb int64 = 5
48-
defaultExtremeSizeGb int64 = 500
49-
defaultHdTSizeGb int64 = 2048
50-
defaultRepdSizeGb int64 = 200
51-
defaultMwSizeGb int64 = 200
52-
defaultVolumeLimit int64 = 127
53-
readyState = "READY"
54-
standardDiskType = "pd-standard"
55-
extremeDiskType = "pd-extreme"
56-
hdtDiskType = "hyperdisk-throughput"
57-
provisionedIOPSOnCreate = "12345"
58-
provisionedIOPSOnCreateInt = int64(12345)
59-
provisionedThroughputOnCreate = "66Mi"
60-
provisionedThroughputOnCreateInt = int64(66)
61-
62-
defaultEpsilon = 500000000 // 500M
47+
defaultSizeGb int64 = 5
48+
defaultExtremeSizeGb int64 = 500
49+
defaultHdTSizeGb int64 = 2048
50+
defaultRepdSizeGb int64 = 200
51+
defaultMwSizeGb int64 = 200
52+
defaultVolumeLimit int64 = 127
53+
readyState = "READY"
54+
standardDiskType = "pd-standard"
55+
extremeDiskType = "pd-extreme"
56+
hdtDiskType = "hyperdisk-throughput"
57+
provisionedIOPSOnCreate = "12345"
58+
provisionedIOPSOnCreateInt = int64(12345)
59+
provisionedIOPSOnCreateDefaultInt = int64(100000)
60+
provisionedThroughputOnCreate = "66Mi"
61+
provisionedThroughputOnCreateInt = int64(66)
62+
defaultEpsilon = 500000000 // 500M
6363
)
6464

6565
var _ = Describe("GCE PD CSI Driver", func() {
@@ -424,6 +424,48 @@ var _ = Describe("GCE PD CSI Driver", func() {
424424
Entry("on pd-extreme", extremeDiskType),
425425
)
426426

427+
DescribeTable("Should create and delete pd-extreme disk with default iops",
428+
func(diskType string) {
429+
Expect(testContexts).ToNot(BeEmpty())
430+
testContext := getRandomTestContext()
431+
432+
p, z, _ := testContext.Instance.GetIdentity()
433+
client := testContext.Client
434+
435+
// Create Disk
436+
diskParams := map[string]string{
437+
common.ParameterKeyType: diskType,
438+
}
439+
volName := testNamePrefix + string(uuid.NewUUID())
440+
441+
diskSize := defaultExtremeSizeGb
442+
443+
volume, err := client.CreateVolume(volName, diskParams, diskSize, nil, nil)
444+
445+
Expect(err).To(BeNil(), "CreateVolume failed with error: %v", err)
446+
447+
// Validate Disk Created
448+
cloudDisk, err := computeService.Disks.Get(p, z, volName).Do()
449+
Expect(err).To(BeNil(), "Could not get disk from cloud directly")
450+
Expect(cloudDisk.Status).To(Equal(readyState))
451+
Expect(cloudDisk.SizeGb).To(Equal(defaultExtremeSizeGb))
452+
Expect(cloudDisk.Type).To(ContainSubstring(extremeDiskType))
453+
Expect(cloudDisk.ProvisionedIops).To(Equal(provisionedIOPSOnCreateDefaultInt))
454+
Expect(cloudDisk.Name).To(Equal(volName))
455+
456+
defer func() {
457+
// Delete Disk
458+
client.DeleteVolume(volume.VolumeId)
459+
Expect(err).To(BeNil(), "DeleteVolume failed")
460+
461+
// Validate Disk Deleted
462+
_, err = computeService.Disks.Get(p, z, volName).Do()
463+
Expect(gce.IsGCEError(err, "notFound")).To(BeTrue(), "Expected disk to not be found")
464+
}()
465+
},
466+
Entry("on pd-extreme", extremeDiskType),
467+
)
468+
427469
DescribeTable("Should create and delete disk with labels",
428470
func(diskType string) {
429471
Expect(testContexts).ToNot(BeEmpty())

0 commit comments

Comments
 (0)