From 539b3693f4ae3f5d6958b4ddd47595e6f79db1dc Mon Sep 17 00:00:00 2001 From: Krunal Jain Date: Fri, 13 Jul 2018 11:33:35 -0700 Subject: [PATCH] Reverting commit #56600 as GCE PD is allocated in chunks of GiB instead of GBs Fixing comments and importing constant from util Importing constant from util Fixing comment in volume_provisioning.go --- pkg/cloudprovider/providers/gce/gce_disks.go | 4 +- pkg/volume/gce_pd/gce_pd.go | 2 +- pkg/volume/gce_pd/gce_pd_test.go | 2 +- pkg/volume/gce_pd/gce_util.go | 4 +- test/e2e/storage/volume_provisioning.go | 44 ++++---------------- 5 files changed, 15 insertions(+), 41 deletions(-) diff --git a/pkg/cloudprovider/providers/gce/gce_disks.go b/pkg/cloudprovider/providers/gce/gce_disks.go index 7b7bb2dded..9c5038122d 100644 --- a/pkg/cloudprovider/providers/gce/gce_disks.go +++ b/pkg/cloudprovider/providers/gce/gce_disks.go @@ -747,8 +747,8 @@ func (gce *GCECloud) ResizeDisk(diskToResize string, oldSize resource.Quantity, } requestBytes := newSize.Value() - // GCE resizes in chunks of GBs (not GiB) - requestGB := volumeutil.RoundUpSize(requestBytes, 1000*1000*1000) + // GCE resizes in chunks of GiBs + requestGB := volumeutil.RoundUpSize(requestBytes, volumeutil.GIB) newSizeQuant := resource.MustParse(fmt.Sprintf("%dG", requestGB)) // If disk is already of size equal or greater than requested size, we simply return diff --git a/pkg/volume/gce_pd/gce_pd.go b/pkg/volume/gce_pd/gce_pd.go index ecc7a4165c..904445c8f2 100644 --- a/pkg/volume/gce_pd/gce_pd.go +++ b/pkg/volume/gce_pd/gce_pd.go @@ -501,7 +501,7 @@ func (c *gcePersistentDiskProvisioner) Provision(selectedNode *v1.Node, allowedT PersistentVolumeReclaimPolicy: c.options.PersistentVolumeReclaimPolicy, AccessModes: c.options.PVC.Spec.AccessModes, Capacity: v1.ResourceList{ - v1.ResourceName(v1.ResourceStorage): resource.MustParse(fmt.Sprintf("%dG", sizeGB)), + v1.ResourceName(v1.ResourceStorage): resource.MustParse(fmt.Sprintf("%dGi", sizeGB)), }, VolumeMode: volumeMode, PersistentVolumeSource: v1.PersistentVolumeSource{ diff --git a/pkg/volume/gce_pd/gce_pd_test.go b/pkg/volume/gce_pd/gce_pd_test.go index 54a1de07f1..c3d80c68d1 100644 --- a/pkg/volume/gce_pd/gce_pd_test.go +++ b/pkg/volume/gce_pd/gce_pd_test.go @@ -177,7 +177,7 @@ func TestPlugin(t *testing.T) { } cap := persistentSpec.Spec.Capacity[v1.ResourceStorage] size := cap.Value() - if size != 100*util.GB { + if size != 100*util.GIB { t.Errorf("Provision() returned unexpected volume size: %v", size) } diff --git a/pkg/volume/gce_pd/gce_util.go b/pkg/volume/gce_pd/gce_util.go index 8774d77c8f..92b7f8eb2c 100644 --- a/pkg/volume/gce_pd/gce_util.go +++ b/pkg/volume/gce_pd/gce_util.go @@ -86,8 +86,8 @@ func (gceutil *GCEDiskUtil) CreateVolume(c *gcePersistentDiskProvisioner) (strin name := volumeutil.GenerateVolumeName(c.options.ClusterName, c.options.PVName, 63) // GCE PD name can have up to 63 characters capacity := c.options.PVC.Spec.Resources.Requests[v1.ResourceName(v1.ResourceStorage)] - // GCE PDs are allocated in chunks of GBs (not GiBs) - requestGB := volumeutil.RoundUpToGB(capacity) + // GCE PDs are allocated in chunks of GiBs + requestGB := volumeutil.RoundUpToGiB(capacity) // Apply Parameters. // Values for parameter "replication-type" are canonicalized to lower case. diff --git a/test/e2e/storage/volume_provisioning.go b/test/e2e/storage/volume_provisioning.go index d2a91883fb..e4eb46a089 100644 --- a/test/e2e/storage/volume_provisioning.go +++ b/test/e2e/storage/volume_provisioning.go @@ -265,8 +265,8 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() { "type": "pd-ssd", "zone": cloudZone, }, - claimSize: "1.5G", - expectedSize: "2G", + claimSize: "1.5Gi", + expectedSize: "2Gi", pvCheck: func(volume *v1.PersistentVolume) error { return checkGCEPD(volume, "pd-ssd") }, @@ -278,8 +278,8 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() { parameters: map[string]string{ "type": "pd-standard", }, - claimSize: "1.5G", - expectedSize: "2G", + claimSize: "1.5Gi", + expectedSize: "2Gi", pvCheck: func(volume *v1.PersistentVolume) error { return checkGCEPD(volume, "pd-standard") }, @@ -443,8 +443,8 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() { parameters: map[string]string{ "type": "pd-standard", }, - claimSize: "1G", - expectedSize: "1G", + claimSize: "1Gi", + expectedSize: "1Gi", pvCheck: func(volume *v1.PersistentVolume) error { return checkGCEPD(volume, "pd-standard") }, @@ -477,8 +477,8 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() { parameters: map[string]string{ "type": "pd-standard", }, - claimSize: "1G", - expectedSize: "1G", + claimSize: "1Gi", + expectedSize: "1Gi", pvCheck: func(volume *v1.PersistentVolume) error { return checkGCEPD(volume, "pd-standard") }, @@ -526,7 +526,7 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() { name: "unmanaged_zone", provisioner: "kubernetes.io/gce-pd", parameters: map[string]string{"zone": unmanagedZone}, - claimSize: "1G", + claimSize: "1Gi", } sc := newStorageClass(test, ns, suffix) sc, err = c.StorageV1().StorageClasses().Create(sc) @@ -714,13 +714,6 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() { claimSize: "2Gi", expectedSize: "2Gi", } - // gce or gke - if getDefaultPluginName() == "kubernetes.io/gce-pd" { - // using GB not GiB as e2e test unit since gce-pd returns GB, - // or expectedSize may be greater than claimSize. - test.claimSize = "2G" - test.expectedSize = "2G" - } claim := newClaim(test, ns, "default") testDynamicProvisioning(test, c, claim, nil) @@ -803,17 +796,6 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() { parameters: map[string]string{"resturl": serverUrl}, skipWriteReadCheck: true, } - - // GCE/GKE - if getDefaultPluginName() == "kubernetes.io/gce-pd" { - // Keeping an extra condition here based on below facts: - //*) gce-pd rounds up to the next gb. - //*) GlusterFS provisioner rounduptoGiB() and send it to backend, - // which does 'size/number' from provisioner*1024*1024*1024 - test.claimSize = "2Gi" - test.expectedSize = "3G" - } - suffix := fmt.Sprintf("glusterdptest") class := newStorageClass(test, ns, suffix) @@ -839,14 +821,6 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() { volumeMode: &block, skipWriteReadCheck: true, } - // gce or gke - if getDefaultPluginName() == "kubernetes.io/gce-pd" { - // using GB not GiB as e2e test unit since gce-pd returns GB, - // or expectedSize may be greater than claimSize. - test.claimSize = "2G" - test.expectedSize = "2G" - } - claim := newClaim(test, ns, "default") claim.Spec.VolumeMode = &block testDynamicProvisioning(test, c, claim, nil)