summaryrefslogtreecommitdiffstats
path: root/tests/functional/common/heketi/test_volume_expansion_and_devices.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/functional/common/heketi/test_volume_expansion_and_devices.py')
-rw-r--r--tests/functional/common/heketi/test_volume_expansion_and_devices.py108
1 files changed, 29 insertions, 79 deletions
diff --git a/tests/functional/common/heketi/test_volume_expansion_and_devices.py b/tests/functional/common/heketi/test_volume_expansion_and_devices.py
index 8d590fb6..262e3d6b 100644
--- a/tests/functional/common/heketi/test_volume_expansion_and_devices.py
+++ b/tests/functional/common/heketi/test_volume_expansion_and_devices.py
@@ -8,7 +8,6 @@ from glustolibs.gluster import volume_ops, rebalance_ops
from cnslibs.common.exceptions import ExecutionError
from cnslibs.common.heketi_libs import HeketiBaseClass
-from cnslibs.common.openshift_ops import get_ocp_gluster_pod_names
from cnslibs.common import heketi_ops, podcmd
@@ -19,101 +18,52 @@ class TestVolumeExpansionAndDevicesTestCases(HeketiBaseClass):
@podcmd.GlustoPod()
def get_num_of_bricks(self, volume_name):
- """
- Method to determine number of
- bricks at present in the volume
- """
- brick_info = []
-
- if self.deployment_type == "cns":
-
- gluster_pod = get_ocp_gluster_pod_names(
- self.heketi_client_node)[1]
-
- p = podcmd.Pod(self.heketi_client_node, gluster_pod)
-
- volume_info_before_expansion = volume_ops.get_volume_info(
- p, volume_name)
-
- elif self.deployment_type == "crs":
- volume_info_before_expansion = volume_ops.get_volume_info(
- self.heketi_client_node, volume_name)
+ """Method to determine number of bricks at present in the volume."""
+ volume_info = volume_ops.get_volume_info(
+ 'auto_get_gluster_endpoint', volume_name)
self.assertIsNotNone(
- volume_info_before_expansion,
- "Volume info is None")
+ volume_info, "'%s' volume info is None" % volume_name)
- for brick_details in (volume_info_before_expansion
- [volume_name]["bricks"]["brick"]):
-
- brick_info.append(brick_details["name"])
-
- num_of_bricks = len(brick_info)
-
- return num_of_bricks
+ return len([b for b in volume_info[volume_name]["bricks"]["brick"]])
@podcmd.GlustoPod()
def get_rebalance_status(self, volume_name):
- """
- Rebalance status after expansion
- """
- if self.deployment_type == "cns":
- gluster_pod = get_ocp_gluster_pod_names(
- self.heketi_client_node)[1]
-
- p = podcmd.Pod(self.heketi_client_node, gluster_pod)
-
- wait_reb = rebalance_ops.wait_for_rebalance_to_complete(
- p, volume_name)
- self.assertTrue(wait_reb, "Rebalance not complete")
-
- reb_status = rebalance_ops.get_rebalance_status(
- p, volume_name)
-
- elif self.deployment_type == "crs":
- wait_reb = rebalance_ops.wait_for_rebalance_to_complete(
- self.heketi_client_node, volume_name)
- self.assertTrue(wait_reb, "Rebalance not complete")
-
- reb_status = rebalance_ops.get_rebalance_status(
- self.heketi_client_node, volume_name)
+ """Rebalance status after expansion."""
+ wait_reb = rebalance_ops.wait_for_rebalance_to_complete(
+ 'auto_get_gluster_endpoint', volume_name)
+ self.assertTrue(
+ wait_reb,
+ "Rebalance for '%s' volume was not completed." % volume_name)
- self.assertEqual(reb_status["aggregate"]["statusStr"],
- "completed", "Rebalance not yet completed")
+ reb_status = rebalance_ops.get_rebalance_status(
+ 'auto_get_gluster_endpoint', volume_name)
+ self.assertEqual(
+ reb_status["aggregate"]["statusStr"], "completed",
+ "Failed to get rebalance status for '%s' volume." % volume_name)
@podcmd.GlustoPod()
def get_brick_and_volume_status(self, volume_name):
- """
- Status of each brick in a volume
- for background validation
- """
- brick_info = []
-
- if self.deployment_type == "cns":
- gluster_pod = get_ocp_gluster_pod_names(
- self.heketi_client_node)[1]
+ """Status of each brick in a volume for background validation."""
- p = podcmd.Pod(self.heketi_client_node, gluster_pod)
-
- volume_info = volume_ops.get_volume_info(p, volume_name)
- volume_status = volume_ops.get_volume_status(p, volume_name)
-
- elif self.deployment_type == "crs":
- volume_info = volume_ops.get_volume_info(
- self.heketi_client_node, volume_name)
- volume_status = volume_ops.get_volume_status(
- self.heketi_client_node, volume_name)
+ volume_info = volume_ops.get_volume_info(
+ 'auto_get_gluster_endpoint', volume_name)
+ self.assertIsNotNone(
+ volume_info, "'%s' volume info is empty" % volume_name)
- self.assertIsNotNone(volume_info, "Volume info is empty")
- self.assertIsNotNone(volume_status, "Volume status is empty")
+ volume_status = volume_ops.get_volume_status(
+ 'auto_get_gluster_endpoint', volume_name)
+ self.assertIsNotNone(
+ volume_status, "'%s' volume status is empty" % volume_name)
self.assertEqual(int(volume_info[volume_name]["status"]), 1,
"Volume not up")
+
+ brick_info = []
for brick_details in volume_info[volume_name]["bricks"]["brick"]:
brick_info.append(brick_details["name"])
-
- if brick_info == []:
- raise ExecutionError("Brick details empty for %s" % volume_name)
+ self.assertTrue(
+ brick_info, "Brick details are empty for %s" % volume_name)
for brick in brick_info:
brick_data = brick.strip().split(":")