diff options
author | Arun Kumar <aanand01762@gmail.com> | 2020-06-17 23:38:03 +0530 |
---|---|---|
committer | Arun Kumar <aanand01762@gmail.com> | 2020-07-10 14:01:42 +0530 |
commit | 6260a8e33244b59ee37d0072f2eae41328134163 (patch) | |
tree | 45d8d73dd16dffa6881adcba4a5936b6bebd66d0 /tests/functional | |
parent | 3c1fe83b898ad44843258593b5104fdae05dc839 (diff) |
[Test] Add TC app pod deletion with different intiator and target
Change-Id: I1d5e8ce9a12b693b1a4a6fbc93718c3b6e71c801
Signed-off-by: Arun Kumar <aanand01762@gmail.com>
Diffstat (limited to 'tests/functional')
-rw-r--r-- | tests/functional/gluster_stability/test_gluster_block_stability.py | 72 |
1 files changed, 45 insertions, 27 deletions
diff --git a/tests/functional/gluster_stability/test_gluster_block_stability.py b/tests/functional/gluster_stability/test_gluster_block_stability.py index e5150bb7..1edb1cf1 100644 --- a/tests/functional/gluster_stability/test_gluster_block_stability.py +++ b/tests/functional/gluster_stability/test_gluster_block_stability.py @@ -173,9 +173,7 @@ class TestGlusterBlockStability(GlusterBlockBaseClass): self.verify_iscsi_sessions_and_multipath(self.pvc_name, dc_name) - @pytest.mark.tier1 - def test_initiator_side_failures_initiator_and_target_on_different_node( - self): + def _initiator_and_target_on_different_node_validation_ops(self): nodes = oc_get_schedulable_nodes(self.node) @@ -202,6 +200,14 @@ class TestGlusterBlockStability(GlusterBlockBaseClass): oc_adm_manage_node, self.node, '--schedulable=true', nodes=g_nodes) + @pytest.mark.tier1 + def test_initiator_side_failures_initiator_and_target_on_different_node( + self): + + # Make the gluster nodes nodes unschedulable + self._initiator_and_target_on_different_node_validation_ops() + + # Perform validation of intiator side failures self.initiator_side_failures() @pytest.mark.tier1 @@ -449,29 +455,8 @@ class TestGlusterBlockStability(GlusterBlockBaseClass): pod_name = get_pod_name_from_dc(self.node, dc_name) wait_for_pod_be_ready(self.node, pod_name, timeout=120, wait_step=5) - @pytest.mark.tier1 - def test_initiator_and_target_on_same_node_app_pod_deletion(self): - """Test iscsi login and logout functionality on deletion of an app - pod when initiator and target are on the same node. - """ - if not self.is_containerized_gluster(): - self.skipTest("Skipping this TC as it's not supported on non" - " containerized glusterfs setup.") - - schedulable_nodes = oc_get_schedulable_nodes(self.node) - - # Get list of all gluster nodes - g_pods = get_ocp_gluster_pod_details(self.node) - g_nodes = [pod['pod_hostname'] for pod in g_pods] - - # Get the list of schedulable nodes other than gluster nodes - o_nodes = list((set(schedulable_nodes) - set(g_nodes))) - - # Make nodes unschedulable other than gluster nodes - oc_adm_manage_node( - self.node, '--schedulable=false', nodes=o_nodes) - self.addCleanup( - oc_adm_manage_node, self.node, '--schedulable=true', nodes=o_nodes) + def _validate_app_creation_and_deletion_along_block_validations(self): + """Create and delete apps and also valiate iscsi and multipath""" # Create 10 PVC's and 10 DC's pvcs = self.create_and_wait_for_pvcs(pvc_amount=10) @@ -541,7 +526,6 @@ class TestGlusterBlockStability(GlusterBlockBaseClass): def get_initiator_node_and_mark_other_nodes_unschedulable( self, is_ini_taget_same=False): - ocp_version = get_openshift_version(self.node) if ocp_version < '3.10': self.skipTest( @@ -595,6 +579,40 @@ class TestGlusterBlockStability(GlusterBlockBaseClass): return initiator_nodes[0] + @pytest.mark.tier1 + def test_initiator_and_target_on_same_node_app_pod_deletion(self): + """Test iscsi login and logout functionality on deletion of an app + pod when initiator and target are on the same node. + """ + schedulable_nodes = oc_get_schedulable_nodes(self.node) + + # Get list of all gluster nodes + g_pods = get_ocp_gluster_pod_details(self.node) + g_nodes = [pod['pod_hostname'] for pod in g_pods] + + # Get the list of schedulable nodes other than gluster nodes + o_nodes = list((set(schedulable_nodes) - set(g_nodes))) + + # Make nodes unschedulable other than gluster nodes + oc_adm_manage_node( + self.node, '--schedulable=false', nodes=o_nodes) + self.addCleanup( + oc_adm_manage_node, self.node, '--schedulable=true', nodes=o_nodes) + + # Perform app pod creation and deletion along with block validations + self._validate_app_creation_and_deletion_along_block_validations() + + @pytest.mark.tier1 + def test_initiator_and_target_on_different_node_app_pod_deletion(self): + """Perform block validation during app pod deletion and when initiator + and target nodes are different""" + + # Make the gluster nodes nodes unschedulable + self._initiator_and_target_on_different_node_validation_ops() + + # Perform app pod creation and deletion along with block validations + self._validate_app_creation_and_deletion_along_block_validations() + def _validate_iscsi_initiator_utils_version(self): # Skip the test if iscsi-initiator-utils version is not the expected e_pkg_version = '6.2.0.874-13' |