Skip to content

Commit ac667a3

Browse files
Fix provisioned-iops-on-create passing logic
1 parent 2cbed1d commit ac667a3

File tree

4 files changed

+33
-23
lines changed

4 files changed

+33
-23
lines changed

pkg/common/utils_test.go

+6
Original file line numberDiff line numberDiff line change
@@ -597,6 +597,12 @@ func TestConvertStringToInt64(t *testing.T) {
597597
expInt64: 10000,
598598
expectError: false,
599599
},
600+
{
601+
desc: "test higher number",
602+
inputStr: "15000",
603+
expInt64: 15000,
604+
expectError: false,
605+
},
600606
{
601607
desc: "round M to number",
602608
inputStr: "1M",

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

+14-11
Original file line numberDiff line numberDiff line change
@@ -419,6 +419,9 @@ func convertV1DiskToBetaDisk(v1Disk *computev1.Disk, provisionedThroughputOnCrea
419419
ReplicaZones: v1Disk.ReplicaZones,
420420
DiskEncryptionKey: dek,
421421
}
422+
if v1Disk.ProvisionedIops > 0 {
423+
betaDisk.ProvisionedIops = v1Disk.ProvisionedIops
424+
}
422425
if provisionedThroughputOnCreate > 0 {
423426
betaDisk.ProvisionedThroughput = provisionedThroughputOnCreate
424427
}
@@ -449,12 +452,11 @@ func (cloud *CloudProvider) insertRegionalDisk(
449452
}
450453

451454
diskToCreate := &computev1.Disk{
452-
Name: volKey.Name,
453-
SizeGb: common.BytesToGbRoundUp(capBytes),
454-
Description: description,
455-
Type: cloud.GetDiskTypeURI(cloud.project, volKey, params.DiskType),
456-
Labels: params.Labels,
457-
ProvisionedIops: params.ProvisionedIOPSOnCreate,
455+
Name: volKey.Name,
456+
SizeGb: common.BytesToGbRoundUp(capBytes),
457+
Description: description,
458+
Type: cloud.GetDiskTypeURI(cloud.project, volKey, params.DiskType),
459+
Labels: params.Labels,
458460
}
459461
if snapshotID != "" {
460462
_, snapshotType, _, err := common.SnapshotIDToProjectKey(snapshotID)
@@ -562,11 +564,12 @@ func (cloud *CloudProvider) insertZonalDisk(
562564
}
563565

564566
diskToCreate := &computev1.Disk{
565-
Name: volKey.Name,
566-
SizeGb: common.BytesToGbRoundUp(capBytes),
567-
Description: description,
568-
Type: cloud.GetDiskTypeURI(project, volKey, params.DiskType),
569-
Labels: params.Labels,
567+
Name: volKey.Name,
568+
SizeGb: common.BytesToGbRoundUp(capBytes),
569+
Description: description,
570+
Type: cloud.GetDiskTypeURI(project, volKey, params.DiskType),
571+
Labels: params.Labels,
572+
ProvisionedIops: params.ProvisionedIOPSOnCreate,
570573
}
571574

572575
if snapshotID != "" {

test/e2e/tests/single_zone_e2e_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -1175,7 +1175,7 @@ func createAndValidateUniqueZonalDisk(client *remote.CsiClient, project, zone st
11751175
Expect(err).To(BeNil(), "Could not get disk from cloud directly")
11761176
Expect(cloudDisk.Type).To(ContainSubstring(diskType))
11771177
Expect(cloudDisk.Status).To(Equal(readyState))
1178-
Expect(cloudDisk.SizeGb).To(Equal(defaultSizeGb))
1178+
Expect(cloudDisk.SizeGb).To(Equal(defaultExtremeSizeGb))
11791179
Expect(cloudDisk.Name).To(Equal(volName))
11801180
return
11811181
}

test/e2e/tests/single_zone_pd_extreme_e2e_test.go

+12-11
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,10 @@ import (
3333
)
3434

3535
const (
36-
extremeDiskType = "pd-extreme"
37-
provisionedIOPSOnCreate = "100000Gi"
38-
provisionedIOPSOnCreateInt = int64(100000)
36+
extremeDiskType = "pd-extreme"
37+
defaultExtremeSizeGb int64 = 500
38+
provisionedIOPSOnCreate = "12345"
39+
provisionedIOPSOnCreateInt = int64(12345)
3940
)
4041

4142
var _ = Describe("GCE PD CSI Driver pd-extreme", func() {
@@ -53,7 +54,7 @@ var _ = Describe("GCE PD CSI Driver pd-extreme", func() {
5354
common.ParameterKeyType: extremeDiskType,
5455
common.ParameterKeyProvisionedIOPSOnCreate: provisionedIOPSOnCreate,
5556
}
56-
volID, err := client.CreateVolume(volName, params, defaultSizeGb, nil, nil)
57+
volID, err := client.CreateVolume(volName, params, defaultExtremeSizeGb, nil, nil)
5758
Expect(err).To(BeNil(), "CreateVolume failed with error: %v", err)
5859

5960
// Validate Disk Created
@@ -62,7 +63,7 @@ var _ = Describe("GCE PD CSI Driver pd-extreme", func() {
6263
Expect(cloudDisk.Type).To(ContainSubstring(extremeDiskType))
6364
Expect(cloudDisk.ProvisionedIops).To(Equal(provisionedIOPSOnCreateInt))
6465
Expect(cloudDisk.Status).To(Equal(readyState))
65-
Expect(cloudDisk.SizeGb).To(Equal(defaultSizeGb))
66+
Expect(cloudDisk.SizeGb).To(Equal(defaultExtremeSizeGb))
6667
Expect(cloudDisk.Name).To(Equal(volName))
6768

6869
defer func() {
@@ -90,7 +91,7 @@ var _ = Describe("GCE PD CSI Driver pd-extreme", func() {
9091
common.ParameterKeyType: extremeDiskType,
9192
common.ParameterKeyProvisionedIOPSOnCreate: provisionedIOPSOnCreate,
9293
}
93-
volID, err := client.CreateVolume(volName, params, defaultSizeGb, nil, nil)
94+
volID, err := client.CreateVolume(volName, params, defaultExtremeSizeGb, nil, nil)
9495
Expect(err).To(BeNil(), "CreateVolume failed with error: %v", err)
9596

9697
// Validate Disk Created
@@ -99,7 +100,7 @@ var _ = Describe("GCE PD CSI Driver pd-extreme", func() {
99100
Expect(cloudDisk.Type).To(ContainSubstring(extremeDiskType))
100101
Expect(cloudDisk.ProvisionedIops).To(Equal(provisionedIOPSOnCreateInt))
101102
Expect(cloudDisk.Status).To(Equal(readyState))
102-
Expect(cloudDisk.SizeGb).To(Equal(defaultSizeGb))
103+
Expect(cloudDisk.SizeGb).To(Equal(defaultExtremeSizeGb))
103104
Expect(cloudDisk.Labels).To(Equal(map[string]string{
104105
"key1": "value1",
105106
"key2": "value2",
@@ -157,7 +158,7 @@ var _ = Describe("GCE PD CSI Driver pd-extreme", func() {
157158
common.ParameterKeyDiskEncryptionKmsKey: key.Name,
158159
common.ParameterKeyType: extremeDiskType,
159160
common.ParameterKeyProvisionedIOPSOnCreate: provisionedIOPSOnCreate,
160-
}, defaultSizeGb,
161+
}, defaultExtremeSizeGb,
161162
&csi.TopologyRequirement{
162163
Requisite: []*csi.Topology{
163164
{
@@ -173,7 +174,7 @@ var _ = Describe("GCE PD CSI Driver pd-extreme", func() {
173174
Expect(cloudDisk.Type).To(ContainSubstring(extremeDiskType))
174175
Expect(cloudDisk.ProvisionedIops).To(Equal(provisionedIOPSOnCreateInt))
175176
Expect(cloudDisk.Status).To(Equal(readyState))
176-
Expect(cloudDisk.SizeGb).To(Equal(defaultSizeGb))
177+
Expect(cloudDisk.SizeGb).To(Equal(defaultExtremeSizeGb))
177178
Expect(cloudDisk.Name).To(Equal(volName))
178179

179180
defer func() {
@@ -250,7 +251,7 @@ var _ = Describe("GCE PD CSI Driver pd-extreme", func() {
250251
common.ParameterKeyPVName: "test-pv-name",
251252
common.ParameterKeyType: extremeDiskType,
252253
common.ParameterKeyProvisionedIOPSOnCreate: provisionedIOPSOnCreate,
253-
}, defaultSizeGb, nil /* topReq */, nil)
254+
}, defaultExtremeSizeGb, nil /* topReq */, nil)
254255
Expect(err).To(BeNil(), "CreateVolume failed with error: %v", err)
255256

256257
// Validate Disk Created
@@ -259,7 +260,7 @@ var _ = Describe("GCE PD CSI Driver pd-extreme", func() {
259260
Expect(cloudDisk.Type).To(ContainSubstring(extremeDiskType))
260261
Expect(cloudDisk.ProvisionedIops).To(Equal(provisionedIOPSOnCreateInt))
261262
Expect(cloudDisk.Status).To(Equal(readyState))
262-
Expect(cloudDisk.SizeGb).To(Equal(defaultSizeGb))
263+
Expect(cloudDisk.SizeGb).To(Equal(defaultExtremeSizeGb))
263264
Expect(cloudDisk.Name).To(Equal(volName))
264265
Expect(cloudDisk.Description).To(Equal("{\"kubernetes.io/created-for/pv/name\":\"test-pv-name\",\"kubernetes.io/created-for/pvc/name\":\"test-pvc\",\"kubernetes.io/created-for/pvc/namespace\":\"test-pvc-namespace\",\"storage.gke.io/created-by\":\"pd.csi.storage.gke.io\"}"))
265266
defer func() {

0 commit comments

Comments
 (0)