summaryrefslogtreecommitdiffstats
path: root/cns-libs/cnslibs/common/openshift_ops.py
diff options
context:
space:
mode:
authorValerii Ponomarov <vponomar@redhat.com>2018-12-17 14:42:35 +0000
committerGerrit Code Review <gerrit2@gerrit.host.prod.eng.bos.redhat.com>2018-12-17 14:42:35 +0000
commit78d7a913a49d388d80f42e367f2cb9ff6dc5ca20 (patch)
tree952f61a9ae861ebbca272d8a840776db1497ab25 /cns-libs/cnslibs/common/openshift_ops.py
parentd8e136dd3303fbfb976e49e2edc23e0c6a6278bb (diff)
parentc853d36db63ada595d42f4cf41bcaf1bb7741377 (diff)
Merge "Make 'test_storage_class_cases' module support standalone Gluster"
Diffstat (limited to 'cns-libs/cnslibs/common/openshift_ops.py')
-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,