Spdk/test/ocf/management/multicore.sh
Vitaliy Mysak bef0c6edd2 ocf: rpc: extend get_ocf_bdevs for multicore cases
Extend existing get_ocf_bdevs call to make it easier
  to get information about attached cores.

Implementation is based adding additional optional argument "name"
  to existing call. Based on "name" bdevs are filtered.
  Backward compatability of RPC interface is preserved.

This patch also adds tests for the case when name is given.

Change-Id: I4300ebe37e936bc5cca8e066b5f09db462a87cf7
Signed-off-by: Vitaliy Mysak <vitaliy.mysak@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/444841
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>
2019-03-26 23:30:31 +00:00

82 lines
1.6 KiB
Bash
Executable File

#!/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 C1 | jq -e \
'.[0] | .started'
$rpc_py construct_ocf_bdev C2 wt Cache Core1
$rpc_py get_ocf_bdevs C2 | jq -e \
'.[0] | .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 get_ocf_bdevs Cache | jq \
'length == 2'
$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