diff --git a/pkg/common/parameters.go b/pkg/common/parameters.go index e80346ed8..872837193 100644 --- a/pkg/common/parameters.go +++ b/pkg/common/parameters.go @@ -343,7 +343,7 @@ func ExtractModifyVolumeParameters(parameters map[string]string) (ModifyVolumePa } modifyVolumeParams.IOPS = &iops case "throughput": - throughput, err := ConvertStringToInt64(value) + throughput, err := ConvertMiStringToInt64(value) if err != nil { return ModifyVolumeParameters{}, fmt.Errorf("parameters contain invalid throughput parameter: %w", err) } diff --git a/pkg/common/parameters_test.go b/pkg/common/parameters_test.go index cb60ecff0..35a116325 100644 --- a/pkg/common/parameters_test.go +++ b/pkg/common/parameters_test.go @@ -485,7 +485,7 @@ func TestSnapshotParameters(t *testing.T) { func TestExtractModifyVolumeParameters(t *testing.T) { parameters := map[string]string{ "iops": "1000", - "throughput": "500", + "throughput": "500Mi", } iops := int64(1000) diff --git a/pkg/gce-pd-csi-driver/controller_test.go b/pkg/gce-pd-csi-driver/controller_test.go index 0e79a3663..06db7222e 100644 --- a/pkg/gce-pd-csi-driver/controller_test.go +++ b/pkg/gce-pd-csi-driver/controller_test.go @@ -1789,7 +1789,7 @@ func TestCreateVolumeWithVolumeAttributeClassParameters(t *testing.T) { }, }, }, - MutableParameters: map[string]string{"iops": "20000", "throughput": "600"}, + MutableParameters: map[string]string{"iops": "20000", "throughput": "600Mi"}, }, expIops: 20000, expThroughput: 600, @@ -1822,7 +1822,7 @@ func TestCreateVolumeWithVolumeAttributeClassParameters(t *testing.T) { }, }, }, - MutableParameters: map[string]string{"iops": "20000", "throughput": "600"}, + MutableParameters: map[string]string{"iops": "20000", "throughput": "600Mi"}, }, expIops: 0, expThroughput: 0, @@ -1890,7 +1890,7 @@ func TestVolumeModifyOperation(t *testing.T) { name: "Update volume with valid parameters", req: &csi.ControllerModifyVolumeRequest{ VolumeId: testVolumeID, - MutableParameters: map[string]string{"iops": "20000", "throughput": "600"}, + MutableParameters: map[string]string{"iops": "20000", "throughput": "600Mi"}, }, diskType: "hyperdisk-balanced", params: &common.DiskParameters{ @@ -1906,7 +1906,7 @@ func TestVolumeModifyOperation(t *testing.T) { name: "Update volume with invalid parameters", req: &csi.ControllerModifyVolumeRequest{ VolumeId: testVolumeID, - MutableParameters: map[string]string{"iops": "0", "throughput": "0"}, + MutableParameters: map[string]string{"iops": "0", "throughput": "0Mi"}, }, diskType: "hyperdisk-balanced", params: &common.DiskParameters{ @@ -1922,7 +1922,7 @@ func TestVolumeModifyOperation(t *testing.T) { name: "Update volume with valid parameters but invalid disk type", req: &csi.ControllerModifyVolumeRequest{ VolumeId: testVolumeID, - MutableParameters: map[string]string{"iops": "20000", "throughput": "600"}, + MutableParameters: map[string]string{"iops": "20000", "throughput": "600Mi"}, }, diskType: "pd-ssd", params: &common.DiskParameters{ @@ -2053,7 +2053,7 @@ func TestVolumeModifyErrorHandling(t *testing.T) { }, }, modifyReq: &csi.ControllerModifyVolumeRequest{ - MutableParameters: map[string]string{"iops": "3001", "throughput": "151"}, + MutableParameters: map[string]string{"iops": "3001", "throughput": "151Mi"}, }, modifyVolumeErrors: map[*meta.Key]error{ meta.ZonalKey(name, "us-central1-a"): &googleapi.Error{ @@ -2089,7 +2089,7 @@ func TestVolumeModifyErrorHandling(t *testing.T) { }, }, modifyReq: &csi.ControllerModifyVolumeRequest{ - MutableParameters: map[string]string{"iops": "10000", "throughput": "2400"}, + MutableParameters: map[string]string{"iops": "10000", "throughput": "2400Mi"}, }, modifyVolumeErrors: map[*meta.Key]error{ meta.ZonalKey(name, "us-central1-a"): &googleapi.Error{Code: int(codes.InvalidArgument), Message: "InvalidArgument"}, diff --git a/test/k8s-integration/config/hdb-volumeattributesclass.yaml b/test/k8s-integration/config/hdb-volumeattributesclass.yaml index f032912d2..73d5ff4f9 100644 --- a/test/k8s-integration/config/hdb-volumeattributesclass.yaml +++ b/test/k8s-integration/config/hdb-volumeattributesclass.yaml @@ -5,4 +5,4 @@ metadata: driverName: pd.csi.storage.gke.io parameters: iops: "3600" - throughput: "290" \ No newline at end of file + throughput: "290Mi" \ No newline at end of file