From 28e7e4812b442d1851ea34368622a003330e1b54 Mon Sep 17 00:00:00 2001 From: nigoyal Date: Mon, 4 Feb 2019 12:12:53 +0530 Subject: Add Heketi version checks Add Heketi version checks to the test cases and Heketi libraries. In case of incompatible Heketi version in a setup, test cases will be skipped and direct usage of Heketi libraries will cause them to raise the NotImplementedError exceptions. Change-Id: I462e76f615165140f2a8c7e796c1c582b8f4dc91 --- tests/functional/common/arbiter/test_arbiter.py | 5 +++++ tests/functional/common/heketi/test_heketi_metrics.py | 8 ++++++++ 2 files changed, 13 insertions(+) (limited to 'tests') diff --git a/tests/functional/common/arbiter/test_arbiter.py b/tests/functional/common/arbiter/test_arbiter.py index 63325bc2..9a701fc5 100644 --- a/tests/functional/common/arbiter/test_arbiter.py +++ b/tests/functional/common/arbiter/test_arbiter.py @@ -2,6 +2,7 @@ import ddt from cnslibs.cns import cns_baseclass from cnslibs.common import heketi_ops +from cnslibs.common import heketi_version from cnslibs.common.openshift_ops import ( cmd_run_on_gluster_pod_or_node, get_gluster_vol_info_by_pvc_name, @@ -22,6 +23,10 @@ class TestArbiterVolumeCreateExpandDelete(cns_baseclass.BaseClass): def setUp(self): super(TestArbiterVolumeCreateExpandDelete, self).setUp() self.node = self.ocp_master_node[0] + version = heketi_version.get_heketi_version(self.heketi_client_node) + if version < '6.0.0-11': + self.skipTest("heketi-client package %s does not support arbiter " + "functionality" % version.v_str) # Mark one of the Heketi nodes as arbiter-supported if none of # existent nodes or devices already enabled to support it. diff --git a/tests/functional/common/heketi/test_heketi_metrics.py b/tests/functional/common/heketi/test_heketi_metrics.py index 0b8ea53f..701f7d81 100644 --- a/tests/functional/common/heketi/test_heketi_metrics.py +++ b/tests/functional/common/heketi/test_heketi_metrics.py @@ -9,6 +9,7 @@ from cnslibs.common.heketi_ops import ( heketi_volume_delete, heketi_volume_list ) +from cnslibs.common import heketi_version from cnslibs.common.openshift_ops import ( get_pod_name_from_dc, scale_dc_pod_amount_and_wait, @@ -18,6 +19,13 @@ from cnslibs.common.openshift_ops import ( class TestHeketiMetrics(HeketiBaseClass): + def setUp(self): + self.node = self.ocp_master_node[0] + version = heketi_version.get_heketi_version(self.heketi_client_node) + if version < '6.0.0-14': + self.skipTest("heketi-client package %s does not support heketi " + "metrics functionality" % version.v_str) + def verify_heketi_metrics_with_topology_info(self): topology = heketi_topology_info( self.heketi_client_node, self.heketi_server_url, json=True) -- cgit