summaryrefslogtreecommitdiffstats
path: root/tests/functional/heketi/test_restart_heketi_pod.py
diff options
context:
space:
mode:
authorNitin Goyal <nigoyal@redhat.com>2019-07-04 15:33:54 +0530
committerNitin Goyal <nigoyal@redhat.com>2019-07-04 16:55:33 +0530
commit595e2dbd623e4d37313955a2a24b1c1c8533dc54 (patch)
treecf03ca4cb86ad7f7382c1320c243cd0e44b0d2f3 /tests/functional/heketi/test_restart_heketi_pod.py
parent3997c825e0a42256ba5125c0cd378934787ff2dc (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.py69
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'])