test/lvol: rewrite construct_lvol_store_with_all_clear_methods to bash
Change-Id: Iaafa521f420d677834f01fd13f56b3aa9e9cf49d Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/709 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Michal Berger <michalx.berger@intel.com>
This commit is contained in:
parent
a317fccab7
commit
eb33c9a659
@ -131,6 +131,40 @@ function test_construct_lvs_different_cluster_size() {
|
||||
check_leftover_devices
|
||||
}
|
||||
|
||||
# test different methods of clearing the disk on lvolstore creation
|
||||
function test_construct_lvs_clear_methods() {
|
||||
malloc_name=$(rpc_cmd bdev_malloc_create $MALLOC_SIZE_MB $MALLOC_BS)
|
||||
|
||||
# first try to provide invalid clear method
|
||||
rpc_cmd bdev_lvol_create_lvstore "$malloc2_name" lvs2_test --clear-method invalid123 && false
|
||||
|
||||
# no lvs should be created
|
||||
lvol_stores=$(rpc_cmd bdev_lvol_get_lvstores)
|
||||
[ "$(jq length <<< "$lvol_stores")" == "0" ]
|
||||
|
||||
methods="none unmap write_zeroes"
|
||||
for clear_method in $methods; do
|
||||
lvs_uuid=$(rpc_cmd bdev_lvol_create_lvstore "$malloc_name" lvs_test --clear-method $clear_method)
|
||||
|
||||
# create an lvol on top
|
||||
lvol_uuid=$(rpc_cmd bdev_lvol_create -u "$lvs_uuid" lvol_test "$LVS_DEFAULT_CAPACITY_MB")
|
||||
lvol=$(rpc_cmd bdev_get_bdevs -b "$lvol_uuid")
|
||||
[ "$(jq -r '.[0].name' <<< "$lvol")" = "$lvol_uuid" ]
|
||||
[ "$(jq -r '.[0].uuid' <<< "$lvol")" = "$lvol_uuid" ]
|
||||
[ "$(jq -r '.[0].aliases[0]' <<< "$lvol")" = "lvs_test/lvol_test" ]
|
||||
[ "$(jq -r '.[0].block_size' <<< "$lvol")" = "$MALLOC_BS" ]
|
||||
[ "$(jq -r '.[0].num_blocks' <<< "$lvol")" = "$(( LVS_DEFAULT_CAPACITY / MALLOC_BS ))" ]
|
||||
|
||||
# clean up
|
||||
rpc_cmd bdev_lvol_delete "$lvol_uuid"
|
||||
rpc_cmd bdev_get_bdevs -b "$lvol_uuid" && false
|
||||
rpc_cmd bdev_lvol_delete_lvstore -u "$lvs_uuid"
|
||||
rpc_cmd bdev_lvol_get_lvstores -u "$lvs_uuid" && false
|
||||
done
|
||||
rpc_cmd bdev_malloc_delete "$malloc_name"
|
||||
check_leftover_devices
|
||||
}
|
||||
|
||||
# create lvs + lvol on top, verify lvol's parameters
|
||||
function test_construct_lvol() {
|
||||
# create an lvol store
|
||||
@ -401,6 +435,7 @@ run_test "test_construct_lvs_nonexistent_bdev" test_construct_lvs_nonexistent_bd
|
||||
run_test "test_construct_two_lvs_on_the_same_bdev" test_construct_two_lvs_on_the_same_bdev
|
||||
run_test "test_construct_lvs_conflict_alias" test_construct_lvs_conflict_alias
|
||||
run_test "test_construct_lvs_different_cluster_size" test_construct_lvs_different_cluster_size
|
||||
run_test "test_construct_lvs_clear_methods" test_construct_lvs_clear_methods
|
||||
run_test "test_construct_lvol" test_construct_lvol
|
||||
run_test "test_construct_multi_lvols" test_construct_multi_lvols
|
||||
run_test "test_construct_lvols_conflict_alias" test_construct_lvols_conflict_alias
|
||||
|
@ -28,7 +28,6 @@ function usage() {
|
||||
551: 'delete_lvol_bdev',
|
||||
552: 'bdev_lvol_delete_lvstore_with_clones',
|
||||
553: 'unregister_lvol_bdev',
|
||||
602: 'bdev_lvol_create_lvstore_with_all_clear_methods',
|
||||
850: 'clear_method_none',
|
||||
851: 'clear_method_unmap',
|
||||
or
|
||||
|
@ -117,7 +117,6 @@ def case_message(func):
|
||||
551: 'delete_lvol_bdev',
|
||||
552: 'bdev_lvol_delete_lvstore_with_clones',
|
||||
553: 'unregister_lvol_bdev',
|
||||
602: 'bdev_lvol_create_lvstore_with_all_clear_methods',
|
||||
# logical volume clear_method test
|
||||
850: 'clear_method_none',
|
||||
851: 'clear_method_unmap',
|
||||
@ -539,43 +538,6 @@ class TestCases(object):
|
||||
# - no other operation fails
|
||||
return fail_count
|
||||
|
||||
@case_message
|
||||
def test_case602(self):
|
||||
"""
|
||||
bdev_lvol_create_lvstore_with_all_clear_methods
|
||||
|
||||
Call bdev_lvol_create_lvstore with all options for clear methods.
|
||||
"""
|
||||
fail_count = 0
|
||||
# Create malloc bdev
|
||||
base_name = self.c.bdev_malloc_create(self.total_size,
|
||||
self.block_size)
|
||||
# Construct lvol store with clear method 'none'
|
||||
lvol_uuid = self.c.bdev_lvol_create_lvstore(base_name, self.lvs_name, clear_method="none")
|
||||
fail_count += self.c.check_bdev_lvol_get_lvstores(base_name, lvol_uuid)
|
||||
fail_count += self.c.bdev_malloc_delete(base_name)
|
||||
|
||||
# Create malloc bdev
|
||||
base_name = self.c.bdev_malloc_create(self.total_size,
|
||||
self.block_size)
|
||||
# Construct lvol store with clear method 'unmap'
|
||||
lvol_uuid = self.c.bdev_lvol_create_lvstore(base_name, self.lvs_name, clear_method="unmap")
|
||||
fail_count += self.c.check_bdev_lvol_get_lvstores(base_name, lvol_uuid)
|
||||
fail_count += self.c.bdev_malloc_delete(base_name)
|
||||
|
||||
# Create malloc bdev
|
||||
base_name = self.c.bdev_malloc_create(self.total_size,
|
||||
self.block_size)
|
||||
# Construct lvol store with clear method 'write_zeroes'
|
||||
lvol_uuid = self.c.bdev_lvol_create_lvstore(base_name, self.lvs_name, clear_method="write_zeroes")
|
||||
fail_count += self.c.check_bdev_lvol_get_lvstores(base_name, lvol_uuid)
|
||||
fail_count += self.c.bdev_malloc_delete(base_name)
|
||||
|
||||
# Expected result:
|
||||
# - construct lvol store return code != 0
|
||||
# - Error code response printed to stdout
|
||||
return fail_count
|
||||
|
||||
@case_message
|
||||
def test_case850(self):
|
||||
""""
|
||||
|
Loading…
Reference in New Issue
Block a user