summaryrefslogtreecommitdiffstats
path: root/cns-libs
diff options
context:
space:
mode:
authorValerii Ponomarov <vponomar@redhat.com>2018-12-05 21:29:01 +0530
committerValerii Ponomarov <vponomar@redhat.com>2018-12-10 07:54:06 +0000
commitc853d36db63ada595d42f4cf41bcaf1bb7741377 (patch)
tree63ea063cdb1d3b53fa7cf3d843fbcfabd3ac7986 /cns-libs
parent024f0f0bc9f8c969c8f5a3ec494cee0c019f1868 (diff)
Make 'test_storage_class_cases' module support standalone Gluster
By doing following updates: - Add and reuse lib function which calculates amount of Gluster PODs or Gluster nodes. - Make 'get_gluster_blockvol_info_by_pvc_name' lib func support standalonge Gluster clusters in addition to the 'containerized' ones. Change-Id: I6a12bb4c30b1e6f8698a614abefc248149773302
Diffstat (limited to 'cns-libs')
-rw-r--r--cns-libs/cnslibs/common/openshift_ops.py28
1 files changed, 25 insertions, 3 deletions
diff --git a/cns-libs/cnslibs/common/openshift_ops.py b/cns-libs/cnslibs/common/openshift_ops.py
index 3a6f38b3..eac0f994 100644
--- a/cns-libs/cnslibs/common/openshift_ops.py
+++ b/cns-libs/cnslibs/common/openshift_ops.py
@@ -116,6 +116,28 @@ def get_ocp_gluster_pod_names(ocp_node):
return [pod for pod in pod_names if pod.startswith('glusterfs-')]
+def get_amount_of_gluster_nodes(ocp_node):
+ """Calculate amount of Gluster nodes.
+
+ Args:
+ ocp_node (str): node to run 'oc' commands on.
+ Returns:
+ Integer value as amount of either GLuster PODs or Gluster nodes.
+ """
+ # Containerized Gluster
+ gluster_pods = get_ocp_gluster_pod_names(ocp_node)
+ if gluster_pods:
+ return len(gluster_pods)
+
+ # Standalone Gluster
+ configured_gluster_nodes = len(g.config.get("gluster_servers", {}))
+ if configured_gluster_nodes:
+ return configured_gluster_nodes
+
+ raise exceptions.ConfigError(
+ "Haven't found neither Gluster PODs nor Gluster nodes.")
+
+
def oc_login(ocp_node, username, password):
"""Login to ocp master node.
@@ -879,11 +901,11 @@ def get_gluster_blockvol_info_by_pvc_name(ocp_node, heketi_server_url,
ocp_node, heketi_server_url, block_hosting_vol_id, json=True)['name']
# Get Gluster block volume info
- vol_info_cmd = "oc exec %s -- gluster-block info %s/%s --json" % (
- get_ocp_gluster_pod_names(ocp_node)[0],
+ vol_info_cmd = "gluster-block info %s/%s --json" % (
block_hosting_vol_name, block_vol_name)
+ vol_info = cmd_run_on_gluster_pod_or_node(ocp_node, vol_info_cmd)
- return json.loads(command.cmd_run(vol_info_cmd, hostname=ocp_node))
+ return json.loads(vol_info)
def wait_for_pod_be_ready(hostname, pod_name,