summaryrefslogtreecommitdiffstats
path: root/cns-libs/cnslibs/cns/cns_baseclass.py
diff options
context:
space:
mode:
Diffstat (limited to 'cns-libs/cnslibs/cns/cns_baseclass.py')
-rw-r--r--cns-libs/cnslibs/cns/cns_baseclass.py108
1 files changed, 41 insertions, 67 deletions
diff --git a/cns-libs/cnslibs/cns/cns_baseclass.py b/cns-libs/cnslibs/cns/cns_baseclass.py
index 068c25c3..b1b650ab 100644
--- a/cns-libs/cnslibs/cns/cns_baseclass.py
+++ b/cns-libs/cnslibs/cns/cns_baseclass.py
@@ -1,4 +1,8 @@
-from collections import OrderedDict
+import datetime
+import unittest
+
+from glusto.core import Glusto as g
+
from cnslibs.common import command
from cnslibs.common.exceptions import ExecutionError
from cnslibs.common.heketi_ops import (
@@ -18,23 +22,16 @@ from cnslibs.common.openshift_ops import (
wait_for_pod_be_ready,
wait_for_resource_absence,
)
-import datetime
-from glusto.core import Glusto as g
-import unittest
-class CnsBaseClass(unittest.TestCase):
- '''
- This class reads the config for variable values that will be used in
- CNS tests.
- '''
+class BaseClass(unittest.TestCase):
+ """Base class for test classes."""
+
@classmethod
def setUpClass(cls):
- '''
- Initialize all the variables necessary for testing CNS
- '''
- super(CnsBaseClass, cls).setUpClass()
- g.log.info("cnsbaseclass")
+ """Initialize all the variables necessary for test cases."""
+ super(BaseClass, cls).setUpClass()
+
# Initializes OCP config variables
cls.ocp_servers_info = g.config['ocp_servers']
cls.ocp_master_node = g.config['ocp_servers']['master'].keys()
@@ -43,15 +40,15 @@ class CnsBaseClass(unittest.TestCase):
cls.ocp_client_info = g.config['ocp_servers']['client']
cls.ocp_nodes = g.config['ocp_servers']['nodes'].keys()
cls.ocp_nodes_info = g.config['ocp_servers']['nodes']
- cls.ocp_all_nodes = cls.ocp_nodes + cls.ocp_master_node
- # Initializes CNS config variables
- cls.cns_username = g.config['cns']['setup']['cns_username']
- cls.cns_password = g.config['cns']['setup']['cns_password']
- cls.cns_project_name = g.config['cns']['setup']['cns_project_name']
+ # Initializes storage project config variables
+ openshift_config = g.config.get("cns", g.config.get("openshift"))
+ cls.storage_project_name = openshift_config.get(
+ 'storage_project_name',
+ openshift_config.get('setup', {}).get('cns_project_name'))
# Initializes heketi config variables
- heketi_config = g.config['cns']['heketi_config']
+ heketi_config = openshift_config['heketi_config']
cls.heketi_dc_name = heketi_config['heketi_dc_name']
cls.heketi_service_name = heketi_config['heketi_service_name']
cls.heketi_client_node = heketi_config['heketi_client_node']
@@ -61,26 +58,11 @@ class CnsBaseClass(unittest.TestCase):
cls.gluster_servers = g.config['gluster_servers'].keys()
cls.gluster_servers_info = g.config['gluster_servers']
- cls.topo_info = g.config['cns']['trusted_storage_pool_list']
-
- # Constructs topology info dictionary
- cls.topology_info = OrderedDict()
- for i in range(len(cls.topo_info)):
- cluster = 'cluster' + str(i + 1)
- cls.topology_info[cluster] = OrderedDict()
- for index, node in enumerate(cls.topo_info[i]):
- node_name = 'gluster_node' + str(index + 1)
- cls.topology_info[cluster][node_name] = {
- 'manage': cls.gluster_servers_info[node]['manage'],
- 'storage': cls.gluster_servers_info[node]['storage'],
- 'zone': cls.gluster_servers_info[node]['zone'],
- 'devices': cls.gluster_servers_info[node]['devices'],
- }
-
- cls.cns_storage_class = (g.config['cns']['dynamic_provisioning']
- ['storage_classes'])
- cls.sc = cls.cns_storage_class.get(
- 'storage_class1', cls.cns_storage_class.get('file_storage_class'))
+
+ cls.storage_classes = openshift_config['dynamic_provisioning'][
+ 'storage_classes']
+ cls.sc = cls.storage_classes.get(
+ 'storage_class1', cls.storage_classes.get('file_storage_class'))
cmd = "echo -n %s | base64" % cls.heketi_cli_key
ret, out, err = g.run(cls.ocp_master_node[0], cmd, "root")
if ret != 0:
@@ -89,7 +71,7 @@ class CnsBaseClass(unittest.TestCase):
cmd, cls.ocp_master_node[0], out, err))
cls.secret_data_key = out.strip()
- cmd = 'oc project %s' % cls.cns_project_name
+ cmd = 'oc project %s' % cls.storage_project_name
ret, out, err = g.run(cls.ocp_client[0], cmd, "root")
if ret != 0:
raise ExecutionError("failed to execute cmd %s on %s out: "
@@ -104,18 +86,18 @@ class CnsBaseClass(unittest.TestCase):
g.log.info(msg)
def setUp(self):
- super(CnsBaseClass, self).setUp()
+ super(BaseClass, self).setUp()
msg = "Starting Test : %s : %s" % (self.id(), self.glustotest_run_id)
g.log.info(msg)
def tearDown(self):
- super(CnsBaseClass, self).tearDown()
+ super(BaseClass, self).tearDown()
msg = "Ending Test: %s : %s" % (self.id(), self.glustotest_run_id)
g.log.info(msg)
@classmethod
def tearDownClass(cls):
- super(CnsBaseClass, cls).tearDownClass()
+ super(BaseClass, cls).tearDownClass()
msg = "Teardownclass: %s : %s" % (cls.__name__, cls.glustotest_run_id)
g.log.info(msg)
@@ -258,31 +240,23 @@ class CnsBaseClass(unittest.TestCase):
return dc_name, pod_name
-class CnsGlusterBlockBaseClass(CnsBaseClass):
- '''
- This class is for setting up glusterblock on CNS
- '''
+class GlusterBlockBaseClass(BaseClass):
+ """Base class for gluster-block test cases."""
+
@classmethod
def setUpClass(cls):
- '''
- Glusterblock setup on CNS
- '''
- super(CnsGlusterBlockBaseClass, cls).setUpClass()
- cls.sc = cls.cns_storage_class.get(
- 'storage_class2',
- cls.cns_storage_class.get('block_storage_class'))
-
-
-class PodScalabilityBaseClass(CnsBaseClass):
- """
- This class is for setting parameters for scalling pods
- """
+ """Initialize all the variables necessary for test cases."""
+ super(GlusterBlockBaseClass, cls).setUpClass()
+ cls.sc = cls.storage_classes.get(
+ 'storage_class2', cls.storage_classes.get('block_storage_class'))
+
+
+class PodScalabilityBaseClass(BaseClass):
+ """Base class for special set of test cases - POD scalability tests."""
+
@classmethod
def setUpClass(cls):
- """
- Initialize all the variables necessary for scalling setup
- """
-
+ """Initialize all the variables necessary for scalling setup."""
super(PodScalabilityBaseClass, cls).setUpClass()
-
- cls.scale_info = g.config['scale']
+ cls.scale_info = g.config.get(
+ "cns", g.config.get("openshift"))['scale']