test/lvol: Implement test case 500

Check if nested lvol stores and lvol bdevs
can be created. Check if free space for lvol store
is properly calculated.

Change-Id: I07386e397c05c5bbdbc29843686812be004592b2
Signed-off-by: Pawel Kaminski <pawelx.kaminski@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/446123
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
Pawel Kaminski 2019-02-25 09:50:07 -05:00 committed by Jim Harris
parent c4586a75cb
commit 6d24eeb21d
2 changed files with 39 additions and 22 deletions

View File

@ -205,7 +205,7 @@ if [ $SPDK_RUN_FUNCTIONAL_TEST -eq 1 ]; then
if [ $SPDK_TEST_LVOL -eq 1 ]; then if [ $SPDK_TEST_LVOL -eq 1 ]; then
timing_enter lvol timing_enter lvol
test_cases="1,50,51,52,53,100,101,102,150,200,201,250,251,252,253,254,255," test_cases="1,50,51,52,53,100,101,102,150,200,201,250,251,252,253,254,255,"
test_cases+="300,301,450,451,452,550,551,552,553," test_cases+="300,301,450,451,452,500,550,551,552,553,"
test_cases+="600,601,602,650,651,652,654,655," test_cases+="600,601,602,650,651,652,654,655,"
test_cases+="700,701,702,750,751,752,753,754,755,756,757,758,759,760," test_cases+="700,701,702,750,751,752,753,754,755,756,757,758,759,760,"
test_cases+="800,801,802,803,804,10000" test_cases+="800,801,802,803,804,10000"

View File

@ -1118,6 +1118,7 @@ class TestCases(object):
return fail_count return fail_count
@case_message
def test_case500(self): def test_case500(self):
""" """
nested_construct_lvol_bdev_on_full_lvol_store nested_construct_lvol_bdev_on_full_lvol_store
@ -1125,31 +1126,47 @@ class TestCases(object):
Negative test for constructing a new nested lvol bdev. Negative test for constructing a new nested lvol bdev.
Call construct_lvol_bdev on a full lvol store. Call construct_lvol_bdev on a full lvol store.
""" """
# Steps: # Create malloc bdev
# - create a malloc bdev base_name = self.c.construct_malloc_bdev(self.total_size,
# - construct_lvol_store on created malloc bdev self.block_size)
# - check correct uuid values in response get_lvol_stores command # Construct_lvol_store on correct, exisitng malloc bdev
# - construct_lvol_bdev on correct lvs_uuid and size is uuid_store = self.c.construct_lvol_store(base_name,
# equal to size malloc bdev self.lvs_name)
# - construct nested lvol store on previously created lvol_bdev # Check correct uuid values in response get_lvol_stores command
# - check correct uuid values in response get_lvol_stores command fail_count = self.c.check_get_lvol_stores(base_name, uuid_store,
# - construct nested lvol bdev on previously created nested lvol store self.cluster_size)
# and size is equal to size lvol store # Construct lvol bdev
# - try construct another lvol bdev as in previous step; this call should fail size = self.get_lvs_size()
# as nested lvol store space is already claimed by lvol bdev uuid_bdev = self.c.construct_lvol_bdev(uuid_store,
# - delete nested lvol bdev self.lbd_name, size)
# - destroy nested lvol_store # Construct nested lvol store on created lvol_bdev
# - delete base lvol bdev nested_lvs_name = self.lvs_name + "_nested"
# - delete base lvol store nested_lvs_uuid = self.c.construct_lvol_store(uuid_bdev,
# - delete malloc bdev nested_lvs_name)
# # Check correct uuid values in response get_lvol_stores command
fail_count += self.c.check_get_lvol_stores(uuid_bdev, nested_lvs_uuid,
self.cluster_size)
# Construct nested lvol bdev on previously created nested lvol store
# with size equal to size of nested lvol store
nested_size = self.get_lvs_size(nested_lvs_name)
nested_lbd_name = self.lbd_name + "_nested"
nested_uuid_bdev = self.c.construct_lvol_bdev(nested_lvs_uuid,
nested_lbd_name, nested_size)
fail_count += self.c.check_get_bdevs_methods(nested_uuid_bdev, nested_size)
# Try construct another lvol bdev as in previous step; this call should fail
# as nested lvol store space is already claimed by lvol bdev
nested_lbd_name = self.lbd_name + "_nested2"
if self.c.construct_lvol_bdev(nested_lvs_uuid, nested_lbd_name, nested_size) == 0:
fail_count += 1
fail_count += self.c.delete_malloc_bdev(base_name)
# Expected result: # Expected result:
# - second construct_lvol_bdev call on nested lvol store return code != 0 # - second construct_lvol_bdev call on nested lvol store return code != 0
# - EEXIST response printed to stdout # - EEXIST response printed to stdout
# - no other operation fails # - no other operation fails
print("Test of this feature not yet implemented.") return fail_count
pass
return 0
@case_message @case_message
def test_case550(self): def test_case550(self):