From 13ae8998a1338dad74337762af0db069b9ddc3d0 Mon Sep 17 00:00:00 2001 From: kasturiNarra Date: Fri, 25 Jan 2019 17:56:40 +0530 Subject: Add test case where BHV and BV are created and deleted Change-Id: I7ead23c46a472fee70d684c45f32f5e4efb0674f Signed-off-by: kasturiNarra --- .../functional/heketi/test_block_volumes_heketi.py | 50 ++++++++++++++++++++++ 1 file changed, 50 insertions(+) (limited to 'tests') diff --git a/tests/functional/heketi/test_block_volumes_heketi.py b/tests/functional/heketi/test_block_volumes_heketi.py index 62f90500..0356d6a6 100644 --- a/tests/functional/heketi/test_block_volumes_heketi.py +++ b/tests/functional/heketi/test_block_volumes_heketi.py @@ -1,10 +1,16 @@ from openshiftstoragelibs.baseclass import BaseClass from openshiftstoragelibs.heketi_ops import ( + get_total_free_space, heketi_blockvolume_create, heketi_blockvolume_delete, + heketi_blockvolume_info, heketi_blockvolume_list, heketi_volume_create, heketi_volume_delete, + heketi_volume_info, +) +from openshiftstoragelibs.openshift_ops import ( + get_default_block_hosting_volume_size ) @@ -86,3 +92,47 @@ class TestBlockVolumeOps(BaseClass): self.assertIn(vol_id, existing_vol_ids, "Block vol with '%s' ID is absent in the " "list of block volumes." % vol_id) + + def test_block_host_volume_delete_block_volume_delete(self): + """Validate block volume and BHV removal using heketi""" + free_space, nodenum = get_total_free_space( + self.heketi_client_node, + self.heketi_server_url) + if nodenum < 3: + self.skipTest("Skipping the test since number of nodes" + "online are less than 3") + free_space_available = int(free_space / nodenum) + default_bhv_size = get_default_block_hosting_volume_size( + self.heketi_client_node, self.heketi_dc_name) + if free_space_available < default_bhv_size: + self.skipTest("Skipping the test since free_space_available %s" + "is less than the default_bhv_size %s" + % (free_space_available, default_bhv_size)) + block_host_create_info = heketi_volume_create( + self.heketi_client_node, self.heketi_server_url, + default_bhv_size, json=True, block=True) + block_vol_size = block_host_create_info["blockinfo"]["freesize"] + block_hosting_vol_id = block_host_create_info["id"] + self.addCleanup(heketi_volume_delete, + self.heketi_client_node, + self.heketi_server_url, + block_hosting_vol_id, + raise_on_error=True) + block_vol_info = {"blockhostingvolume": "init_value"} + while (block_vol_info['blockhostingvolume'] != block_hosting_vol_id): + block_vol = heketi_blockvolume_create( + self.heketi_client_node, + self.heketi_server_url, block_vol_size, + json=True, ha=3, auth=True) + self.addCleanup(heketi_blockvolume_delete, + self.heketi_client_node, + self.heketi_server_url, + block_vol["id"], raise_on_error=True) + block_vol_info = heketi_blockvolume_info( + self.heketi_client_node, self.heketi_server_url, + block_vol["id"], json=True) + bhv_info = heketi_volume_info( + self.heketi_client_node, self.heketi_server_url, + block_hosting_vol_id, json=True) + self.assertIn( + block_vol_info["id"], bhv_info["blockinfo"]["blockvolume"]) -- cgit