diff options
author | Nitin Goyal <nigoyal@redhat.com> | 2019-07-04 15:33:54 +0530 |
---|---|---|
committer | Nitin Goyal <nigoyal@redhat.com> | 2019-07-04 16:55:33 +0530 |
commit | 595e2dbd623e4d37313955a2a24b1c1c8533dc54 (patch) | |
tree | cf03ca4cb86ad7f7382c1320c243cd0e44b0d2f3 /tests/functional/heketi/test_restart_heketi_pod.py | |
parent | 3997c825e0a42256ba5125c0cd378934787ff2dc (diff) |
Reshufle TC modules to the correct component
Rename TC modules to appropriate name and move them to correct
component.
Change-Id: I87c9bb7822c17c955dd9c2d780ef08e4d4e0d7ee
Diffstat (limited to 'tests/functional/heketi/test_restart_heketi_pod.py')
-rw-r--r-- | tests/functional/heketi/test_restart_heketi_pod.py | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/tests/functional/heketi/test_restart_heketi_pod.py b/tests/functional/heketi/test_restart_heketi_pod.py new file mode 100644 index 00000000..0c32fea2 --- /dev/null +++ b/tests/functional/heketi/test_restart_heketi_pod.py @@ -0,0 +1,69 @@ +from jsondiff import diff + +from openshiftstoragelibs.baseclass import BaseClass +from openshiftstoragelibs.heketi_ops import ( + heketi_topology_info, + heketi_volume_create, + heketi_volume_delete, + hello_heketi, +) +from openshiftstoragelibs.openshift_ops import ( + get_pod_name_from_dc, + oc_delete, + wait_for_pod_be_ready, + wait_for_resource_absence, +) + + +class TestRestartHeketi(BaseClass): + + def test_restart_heketi_pod(self): + """Validate restarting heketi pod""" + + # create heketi volume + vol_info = heketi_volume_create(self.heketi_client_node, + self.heketi_server_url, + size=1, json=True) + self.assertTrue(vol_info, "Failed to create heketi volume of size 1") + self.addCleanup( + heketi_volume_delete, self.heketi_client_node, + self.heketi_server_url, vol_info['id'], raise_on_error=False) + topo_info = heketi_topology_info(self.heketi_client_node, + self.heketi_server_url, + json=True) + + # get heketi-pod name + heketi_pod_name = get_pod_name_from_dc(self.ocp_master_node[0], + self.heketi_dc_name) + + # delete heketi-pod (it restarts the pod) + oc_delete(self.ocp_master_node[0], 'pod', heketi_pod_name) + wait_for_resource_absence(self.ocp_master_node[0], + 'pod', heketi_pod_name) + + # get new heketi-pod name + heketi_pod_name = get_pod_name_from_dc(self.ocp_master_node[0], + self.heketi_dc_name) + wait_for_pod_be_ready(self.ocp_master_node[0], + heketi_pod_name) + + # check heketi server is running + self.assertTrue( + hello_heketi(self.heketi_client_node, self.heketi_server_url), + "Heketi server %s is not alive" % self.heketi_server_url + ) + + # compare the topology + new_topo_info = heketi_topology_info(self.heketi_client_node, + self.heketi_server_url, + json=True) + self.assertEqual(new_topo_info, topo_info, "topology info is not same," + " difference - %s" % diff(topo_info, new_topo_info)) + + # create new volume + vol_info = heketi_volume_create(self.heketi_client_node, + self.heketi_server_url, + size=2, json=True) + self.assertTrue(vol_info, "Failed to create heketi volume of size 20") + heketi_volume_delete( + self.heketi_client_node, self.heketi_server_url, vol_info['id']) |