From 5ff0607360815cd2c9ba8a420ceacbd2ce298ff5 Mon Sep 17 00:00:00 2001 From: karthik-us Date: Wed, 11 Oct 2023 21:30:47 +0530 Subject: [PATCH] e2e: To test 500MB PVC creation Adding e2e test to check for successful PVC creation of 500MB. Signed-off-by: karthik-us --- e2e/cephfs.go | 21 +++++++++++++++++++++ internal/util/util.go | 4 ++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/e2e/cephfs.go b/e2e/cephfs.go index 7e596c1c9..f4366c1d2 100644 --- a/e2e/cephfs.go +++ b/e2e/cephfs.go @@ -25,6 +25,7 @@ import ( snapapi "github.com/kubernetes-csi/external-snapshotter/client/v6/apis/volumesnapshot/v1" . "github.com/onsi/ginkgo/v2" //nolint:golint // e2e uses By() and other Ginkgo functions v1 "k8s.io/api/core/v1" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" clientset "k8s.io/client-go/kubernetes" "k8s.io/kubernetes/test/e2e/framework" @@ -2426,6 +2427,26 @@ var _ = Describe(cephfsType, func() { validateOmapCount(f, 0, cephfsType, metadataPool, volumesType) }) + By("Test 500MB PVC creation and check for PV and PVC binding", func() { + size := "500M" + pvc, err := loadPVC(pvcPath) + if err != nil { + framework.Failf("failed to load PVC: %v", err) + } + pvc.Namespace = f.UniqueName + pvc.Spec.Resources.Requests[v1.ResourceStorage] = resource.MustParse(size) + + err = createPVCAndvalidatePV(f.ClientSet, pvc, deployTimeout) + if err != nil { + framework.Failf("failed to create PVC: %v", err) + } + + err = deletePVCAndValidatePV(f.ClientSet, pvc, deployTimeout) + if err != nil { + framework.Failf("failed to delete PVC: %v", err) + } + }) + // FIXME: in case NFS testing is done, prevent deletion // of the CephFS filesystem and related pool. This can // probably be addressed in a nicer way, making sure diff --git a/internal/util/util.go b/internal/util/util.go index 2f927b5ab..fa9aa40ea 100644 --- a/internal/util/util.go +++ b/internal/util/util.go @@ -67,9 +67,9 @@ func RoundOffCephFSVolSize(bytes int64) int64 { return 4 * helpers.MiB } - floatbytes := float64(bytes) / helpers.MiB + bytesInFloat := float64(bytes) / helpers.MiB - bytes = int64(math.Ceil(floatbytes/4) * 4) + bytes = int64(math.Ceil(bytesInFloat/4) * 4) return RoundOffBytes(bytes * helpers.MiB) }