summaryrefslogtreecommitdiffstats
path: root/tests/functional/heketi/test_heketi_device_operations.py
diff options
context:
space:
mode:
authorvamahaja <vamahaja@redhat.com>2019-09-03 18:40:23 +0530
committervamahaja <vamahaja@redhat.com>2019-09-13 17:28:10 +0530
commitc5c02f6402ebe010e8db71eda738857d73f7e83d (patch)
treeec11367a5a2d2282ba9e1fb1b48fe2d56562fba4 /tests/functional/heketi/test_heketi_device_operations.py
parent610c21c8a73329a13167f47bf6de0cf66e57cd05 (diff)
Fix test cases which are failing to delete volume after test completion
In test case when we use large disk size, heketi takes time to create volume and due to timeout it gives error. Add fix in such test cases to check if volume created after getting an exception, get details of such volumes or raise exception in case it fails to create volume. Change-Id: I1c23a8c6558c23edf8947771e4f41a4bd3ffd66a Signed-off-by: vamahaja <vamahaja@redhat.com>
Diffstat (limited to 'tests/functional/heketi/test_heketi_device_operations.py')
-rw-r--r--tests/functional/heketi/test_heketi_device_operations.py25
1 files changed, 15 insertions, 10 deletions
diff --git a/tests/functional/heketi/test_heketi_device_operations.py b/tests/functional/heketi/test_heketi_device_operations.py
index e27fc0d5..2261304a 100644
--- a/tests/functional/heketi/test_heketi_device_operations.py
+++ b/tests/functional/heketi/test_heketi_device_operations.py
@@ -17,6 +17,7 @@ from openshiftstoragelibs.heketi_ops import (
heketi_volume_create,
heketi_volume_delete,
)
+from openshiftstoragelibs import utils
@ddt.ddt
@@ -381,19 +382,23 @@ class TestHeketiDeviceOperations(BaseClass):
# Create volume with such size that we consume space more than
# size of smaller disks
+ h_volume_name = "autotests-heketi-volume-%s" % utils.get_random_str()
try:
- heketi_vol = heketi_volume_create(
- heketi_node, heketi_url, vol_size_gb, json=True)
+ self.create_heketi_volume_with_name_and_wait(
+ h_volume_name, vol_size_gb, json=True)
except Exception as e:
- g.log.warning(
- "Got following error trying to create '%s'Gb vol: %s" % (
- vol_size_gb, e))
+ # NOTE: rare situation when we need to decrease size of a volume.
+ g.log.info("Failed to create '%s'Gb volume. "
+ "Trying to create another one, smaller for 1Gb.")
+
+ if not ('more required' in str(e)
+ and ('Insufficient suitable allocatable extents for '
+ 'logical volume' in str(e))):
+ raise
+
vol_size_gb -= 1
- heketi_vol = heketi_volume_create(
- heketi_node, heketi_url, vol_size_gb, json=True)
- self.addCleanup(
- heketi_volume_delete, self.heketi_client_node,
- self.heketi_server_url, heketi_vol["bricks"][0]["volume"])
+ self.create_heketi_volume_with_name_and_wait(
+ h_volume_name, vol_size_gb, json=True)
# Try to 'remove' bigger Heketi disk expecting error,
# because there is no space on smaller disk to relocate bricks to