ocf/test: add management tests for multicore cases
Add functional tests on creation and deletion of of OCF bdevs with many-to-one configuration. Change-Id: I6b740605a3341cb95e8d2a4173eeac04b0ae832b Signed-off-by: Vitaliy Mysak <vitaliy.mysak@intel.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/445097 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> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
This commit is contained in:
parent
97d1311fb0
commit
00565ee6b5
78
test/ocf/management/multicore.sh
Executable file
78
test/ocf/management/multicore.sh
Executable file
@ -0,0 +1,78 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
curdir=$(dirname $(readlink -f "$BASH_SOURCE"))
|
||||
rootdir=$(readlink -f $curdir/../../..)
|
||||
source $rootdir/test/common/autotest_common.sh
|
||||
|
||||
rpc_py=$rootdir/scripts/rpc.py
|
||||
|
||||
spdk_pid='?'
|
||||
function start_spdk()
|
||||
{
|
||||
$rootdir/app/iscsi_tgt/iscsi_tgt &
|
||||
spdk_pid=$!
|
||||
trap "killprocess $spdk_pid; exit 1" SIGINT SIGTERM EXIT
|
||||
waitforlisten $spdk_pid
|
||||
}
|
||||
function stop_spdk()
|
||||
{
|
||||
kill -2 $spdk_pid
|
||||
trap - SIGINT SIGTERM EXIT
|
||||
}
|
||||
|
||||
start_spdk
|
||||
|
||||
# Hotplug case
|
||||
|
||||
$rpc_py construct_malloc_bdev 1 512 -b Core0
|
||||
$rpc_py construct_malloc_bdev 1 512 -b Core1
|
||||
|
||||
$rpc_py construct_ocf_bdev C1 wt Cache Core0
|
||||
$rpc_py construct_ocf_bdev C2 wt Cache Core1
|
||||
|
||||
$rpc_py get_ocf_bdevs | jq -e \
|
||||
'any(select(.started)) == false'
|
||||
|
||||
$rpc_py construct_malloc_bdev 101 512 -b Cache
|
||||
|
||||
$rpc_py get_ocf_bdevs | jq -e \
|
||||
'all(select(.started)) == true'
|
||||
|
||||
# Detaching cores
|
||||
|
||||
$rpc_py delete_ocf_bdev C2
|
||||
|
||||
$rpc_py get_ocf_bdevs | jq -e \
|
||||
'any(select(.name == "C1" and .started))'
|
||||
|
||||
$rpc_py construct_ocf_bdev C2 wt Cache Core1
|
||||
|
||||
$rpc_py get_ocf_bdevs | jq -e \
|
||||
'any(select(.name == "C2" and .started))'
|
||||
|
||||
# Normal shutdown
|
||||
|
||||
stop_spdk
|
||||
|
||||
# Hotremove case
|
||||
start_spdk
|
||||
|
||||
$rpc_py construct_malloc_bdev 101 512 -b Cache
|
||||
$rpc_py construct_malloc_bdev 101 512 -b Malloc
|
||||
$rpc_py construct_malloc_bdev 1 512 -b Core
|
||||
|
||||
$rpc_py construct_ocf_bdev C1 wt Cache Malloc
|
||||
$rpc_py construct_ocf_bdev C2 wt Cache Core
|
||||
|
||||
$rpc_py delete_malloc_bdev Cache
|
||||
|
||||
$rpc_py get_ocf_bdevs | jq -e \
|
||||
'. == []'
|
||||
|
||||
# Not fully initialized shutdown
|
||||
|
||||
$rpc_py construct_ocf_bdev C1 wt Malloc NonExisting
|
||||
$rpc_py construct_ocf_bdev C2 wt Malloc NonExisting
|
||||
$rpc_py construct_ocf_bdev C3 wt Malloc Core
|
||||
|
||||
stop_spdk
|
@ -17,5 +17,6 @@ timing_enter ocf
|
||||
suite "$testdir/integrity/fio-mallocs.sh"
|
||||
suite "$testdir/integrity/bdevperf-iotypes.sh"
|
||||
suite "$testdir/management/create-destruct.sh"
|
||||
suite "$testdir/management/multicore.sh"
|
||||
|
||||
timing_exit ocf
|
||||
|
Loading…
x
Reference in New Issue
Block a user