From b1a5e4d85393006e4668e8efb1a771b863a590c3 Mon Sep 17 00:00:00 2001
From: rchikatw <rchikatw@redhat.com>
Date: Wed, 13 Nov 2024 19:45:27 +0530
Subject: [PATCH] server: saving quota in GiB instead GB

Signed-off-by: rchikatw <rchikatw@redhat.com>
---
 services/provider/server/server.go      |  7 ++++---
 services/provider/server/server_test.go | 11 ++++++-----
 2 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/services/provider/server/server.go b/services/provider/server/server.go
index 78ad62ca1c..e78a612409 100644
--- a/services/provider/server/server.go
+++ b/services/provider/server/server.go
@@ -56,6 +56,7 @@ const (
 	onboardingTicketKeySecret = "onboarding-ticket-key"
 	storageRequestNameLabel   = "ocs.openshift.io/storagerequest-name"
 	notAvailable              = "N/A"
+	oneGibInBytes             = 1024 * 1024 * 1024
 )
 
 const (
@@ -370,9 +371,9 @@ func (s *OCSProviderServer) getExternalResources(ctx context.Context, consumerRe
 				},
 			},
 			Quota: corev1.ResourceQuotaSpec{
-				Hard: corev1.ResourceList{"requests.storage": *resource.NewScaledQuantity(
-					int64(consumerResource.Spec.StorageQuotaInGiB),
-					resource.Giga,
+				Hard: corev1.ResourceList{"requests.storage": *resource.NewQuantity(
+					int64(consumerResource.Spec.StorageQuotaInGiB)*oneGibInBytes,
+					resource.BinarySI,
 				)},
 			},
 		}
diff --git a/services/provider/server/server_test.go b/services/provider/server/server_test.go
index 9c00f452c2..018df14df8 100644
--- a/services/provider/server/server_test.go
+++ b/services/provider/server/server_test.go
@@ -47,9 +47,9 @@ var clusterResourceQuotaSpec = &quotav1.ClusterResourceQuotaSpec{
 		},
 	},
 	Quota: corev1.ResourceQuotaSpec{
-		Hard: corev1.ResourceList{"requests.storage": *resource.NewScaledQuantity(
-			int64(consumerResource.Spec.StorageQuotaInGiB),
-			resource.Giga,
+		Hard: corev1.ResourceList{"requests.storage": *resource.NewQuantity(
+			int64(consumerResource.Spec.StorageQuotaInGiB)*oneGibInBytes,
+			resource.BinarySI,
 		)},
 	},
 }
@@ -324,8 +324,9 @@ func TestGetExternalResources(t *testing.T) {
 			var clusterResourceQuotaSpec quotav1.ClusterResourceQuotaSpec
 			err = json.Unmarshal([]byte(extResource.Data), &clusterResourceQuotaSpec)
 			assert.NoError(t, err)
-			quantity, _ := resource.ParseQuantity("10240G")
-			assert.Equal(t, clusterResourceQuotaSpec.Quota.Hard["requests.storage"], quantity)
+			expected := resource.NewQuantity(int64(10240)*oneGibInBytes, resource.BinarySI)
+			actual := clusterResourceQuotaSpec.Quota.Hard["requests.storage"]
+			assert.Equal(t, actual.Value(), expected.Value())
 		} else if extResource.Kind == "Noobaa" {
 			var extNoobaaSpec, mockNoobaaSpec nbv1.NooBaaSpec
 			err = json.Unmarshal(extResource.Data, &extNoobaaSpec)