From 5bc8584b024e542117b682d7cdb594b7d12a83dc Mon Sep 17 00:00:00 2001 From: Niels de Vos Date: Thu, 7 Apr 2022 17:42:48 +0200 Subject: [PATCH] e2e: add -is-openshift option to disable certain checks On OpenShift it is not possible for the Rook toolbox to get the metrics from Kubelet (without additional configuration). By passing -is-openshift, the metrics are not checked, and the e2e suite does not fail on that particular piece. Signed-off-by: Niels de Vos --- e2e/README.md | 1 + e2e/e2e_test.go | 1 + e2e/utils.go | 3 ++- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/e2e/README.md b/e2e/README.md index 22765f706..d10783292 100644 --- a/e2e/README.md +++ b/e2e/README.md @@ -102,6 +102,7 @@ are available while running tests: | timeout | Panic test binary after duration d (default 0, timeout disabled) | | v | Verbose: print additional output | | filesystem | Name of the CephFS filesystem (default: "myfs") | +| is-openshift | Run in OpenShift compatibility mode, skips certain new feature tests | ## E2E for snapshot diff --git a/e2e/e2e_test.go b/e2e/e2e_test.go index 01b4d0dbb..aa5bd3d69 100644 --- a/e2e/e2e_test.go +++ b/e2e/e2e_test.go @@ -44,6 +44,7 @@ func init() { flag.StringVar(&cephCSINamespace, "cephcsi-namespace", defaultNs, "namespace in which cephcsi deployed") flag.StringVar(&rookNamespace, "rook-namespace", "rook-ceph", "namespace in which rook is deployed") flag.StringVar(&fileSystemName, "filesystem", "myfs", "CephFS filesystem to use") + flag.BoolVar(&isOpenShift, "is-openshift", false, "disables certain checks on OpenShift") setDefaultKubeconfig() // Register framework flags, then handle flags diff --git a/e2e/utils.go b/e2e/utils.go index 5167d65d2..2edcb0747 100644 --- a/e2e/utils.go +++ b/e2e/utils.go @@ -78,6 +78,7 @@ var ( rookNamespace string radosNamespace string poll = 2 * time.Second + isOpenShift bool ) func getMons(ns string, c kubernetes.Interface) ([]string, error) { @@ -404,7 +405,7 @@ func validateNormalUserPVCAccess(pvcPath string, f *framework.Framework) error { if pvc.Spec.VolumeMode != nil { isBlockMode = (*pvc.Spec.VolumeMode == v1.PersistentVolumeBlock) } - if !isBlockMode || k8sVersionGreaterEquals(f.ClientSet, 1, 22) { + if (!isBlockMode || k8sVersionGreaterEquals(f.ClientSet, 1, 22)) && !isOpenShift { err = getMetricsForPVC(f, pvc, deployTimeout) if err != nil { return err