We use python3 now, not python. This is important because in next patch we will use a new 'aliases' keyword argument in the argparse API that's only available in Python 3. While here, clean up some documentation that was instructing users to call python explicitly instead of just invoking scripts/rpc.py directly. Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I0c11e131cd56f7c994aa8fe21b4b00ae33489fdd Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/453460 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Pawel Kaminski <pawelx.kaminski@intel.com> Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
78 lines
2.0 KiB
Bash
Executable File
78 lines
2.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
testdir=$(readlink -f $(dirname $0))
|
|
rootdir=$(readlink -f $testdir/../../..)
|
|
source $rootdir/test/common/autotest_common.sh
|
|
source $rootdir/test/nvmf/common.sh
|
|
|
|
NULL_BDEV_SIZE=102400
|
|
NULL_BLOCK_SIZE=512
|
|
|
|
rpc_py="$rootdir/scripts/rpc.py"
|
|
|
|
set -e
|
|
|
|
# pass the parameter 'iso' to this script when running it in isolation to trigger rdma device initialization.
|
|
# e.g. sudo ./crt_trprt.sh iso
|
|
nvmftestinit $1
|
|
|
|
if ! hash nvme; then
|
|
echo "nvme command not found; skipping create transport test"
|
|
exit 0
|
|
fi
|
|
|
|
RDMA_IP_LIST=$(get_available_rdma_ips)
|
|
NVMF_FIRST_TARGET_IP=$(echo "$RDMA_IP_LIST" | head -n 1)
|
|
if [ -z $NVMF_FIRST_TARGET_IP ]; then
|
|
echo "no NIC for nvmf test"
|
|
exit 0
|
|
fi
|
|
|
|
timing_enter cr_trprt
|
|
timing_enter start_nvmf_tgt
|
|
# Start up the NVMf target in another process
|
|
$NVMF_APP -m 0xF &
|
|
nvmfpid=$!
|
|
|
|
trap "killprocess $nvmfpid; nvmftestfini $1; exit 1" SIGINT SIGTERM EXIT
|
|
|
|
waitforlisten $nvmfpid
|
|
# Use nvmf_create_transport call to create transport
|
|
$rpc_py nvmf_create_transport -t RDMA -u 8192 -p 4
|
|
timing_exit start_nvmf_tgt
|
|
|
|
null_bdevs="$($rpc_py construct_null_bdev Null0 $NULL_BDEV_SIZE $NULL_BLOCK_SIZE) "
|
|
null_bdevs+="$($rpc_py construct_null_bdev Null1 $NULL_BDEV_SIZE $NULL_BLOCK_SIZE)"
|
|
|
|
modprobe -v nvme-rdma
|
|
|
|
$rpc_py nvmf_subsystem_create nqn.2016-06.io.spdk:cnode1 -a -s SPDK00000000000001
|
|
for null_bdev in $null_bdevs; do
|
|
$rpc_py nvmf_subsystem_add_ns nqn.2016-06.io.spdk:cnode1 $null_bdev
|
|
done
|
|
$rpc_py nvmf_subsystem_add_listener nqn.2016-06.io.spdk:cnode1 -t rdma -a $NVMF_FIRST_TARGET_IP -s 4420
|
|
|
|
nvme discover -t rdma -a $NVMF_FIRST_TARGET_IP -s $NVMF_PORT
|
|
|
|
echo "Perform nvmf subsystem discovery via RPC"
|
|
$rpc_py get_nvmf_subsystems
|
|
|
|
$rpc_py delete_nvmf_subsystem nqn.2016-06.io.spdk:cnode1
|
|
|
|
for null_bdev in $null_bdevs; do
|
|
$rpc_py delete_null_bdev $null_bdev
|
|
done
|
|
|
|
check_bdevs=$($rpc_py get_bdevs | jq -r '.[].name')
|
|
if [ -n "$check_bdevs" ]; then
|
|
echo $check_bdevs
|
|
exit 1
|
|
fi
|
|
|
|
trap - SIGINT SIGTERM EXIT
|
|
|
|
nvmfcleanup
|
|
killprocess $nvmfpid
|
|
nvmftestfini $1
|
|
timing_exit crt_trprt
|