summaryrefslogtreecommitdiffstats
path: root/tests/functional/heketi
diff options
context:
space:
mode:
authorkasturiNarra <knarra@redhat.com>2019-01-25 17:56:40 +0530
committervponomar <vponomar@redhat.com>2019-07-19 12:34:03 +0000
commit13ae8998a1338dad74337762af0db069b9ddc3d0 (patch)
tree7f71af291e59be096301ddc30976e5e11d81654d /tests/functional/heketi
parent2e0e0d67cb285c7e9f8b2113dfa9fd51015d2f12 (diff)
Add test case where BHV and BV are created and deleted
Change-Id: I7ead23c46a472fee70d684c45f32f5e4efb0674f Signed-off-by: kasturiNarra <knarra@redhat.com>
Diffstat (limited to 'tests/functional/heketi')
-rw-r--r--tests/functional/heketi/test_block_volumes_heketi.py50
1 files changed, 50 insertions, 0 deletions
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"])