diff options
author | Valerii Ponomarov <vponomar@redhat.com> | 2018-12-05 21:29:01 +0530 |
---|---|---|
committer | Valerii Ponomarov <vponomar@redhat.com> | 2018-12-10 07:54:06 +0000 |
commit | c853d36db63ada595d42f4cf41bcaf1bb7741377 (patch) | |
tree | 63ea063cdb1d3b53fa7cf3d843fbcfabd3ac7986 /cns-libs | |
parent | 024f0f0bc9f8c969c8f5a3ec494cee0c019f1868 (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.py | 28 |
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, |