test: Wait for 'nvme disconnect' operations to remove disks

Use waitforserial_disconnect to wait for all nvme disconnect operations
to actually finish.

Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Change-Id: I91f410d9a84db33cf5d8e9d7ecdd4e7a7003aae0
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/9314
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Dong Yi <yidong0635@126.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
This commit is contained in:
Ben Walker 2021-08-26 12:39:07 -07:00 committed by Tomasz Zawadzki
parent 5a6f3a6f91
commit bbd36d0dd8
9 changed files with 12 additions and 1 deletions

View File

@ -84,6 +84,7 @@ function nvmf_filesystem_part() {
sync
nvme disconnect -n "nqn.2016-06.io.spdk:cnode1" || true
waitforserial_disconnect "$NVMF_SERIAL"
$rpc_py nvmf_delete_subsystem nqn.2016-06.io.spdk:cnode1

View File

@ -67,6 +67,7 @@ fio_status=0
wait $fio_pid || fio_status=$?
nvme disconnect -n "nqn.2016-06.io.spdk:cnode1" || true
waitforserial_disconnect "$NVMF_SERIAL"
if [ $fio_status -eq 0 ]; then
echo "nvmf hotplug test: fio successful - expected failure"

View File

@ -51,6 +51,7 @@ fio_status=0
wait $fio_pid || fio_status=$?
nvme disconnect -n "nqn.2016-06.io.spdk:cnode1" || true
waitforserial_disconnect "$NVMF_SERIAL"
if [ $fio_status -eq 0 ]; then
echo "nvmf hotplug test: fio successful as expected"

View File

@ -33,6 +33,7 @@ $rootdir/scripts/fio-wrapper -p nvmf -i 262144 -d 64 -t randwrite -r 10
sync
for i in $(seq 1 $NVMF_SUBSYS); do
nvme disconnect -n "nqn.2016-06.io.spdk:cnode${i}" || true
waitforserial_disconnect SPDK$i
$rpc_py nvmf_delete_subsystem nqn.2016-06.io.spdk:cnode${i}
done

View File

@ -116,6 +116,7 @@ check_ana_state "$subsys_id" "$ctrl2_id" "inaccessible"
wait $fio_pid
nvme disconnect -n "nqn.2016-06.io.spdk:cnode1" || true
waitforserial_disconnect "$NVMF_SERIAL"
$rpc_py nvmf_delete_subsystem nqn.2016-06.io.spdk:cnode1

View File

@ -43,6 +43,7 @@ waitforserial "$NVMF_SERIAL"
$rootdir/scripts/fio-wrapper -p nvmf -i 4096 -d 1 -t write -r 1 -v
nvme disconnect -n "nqn.2016-06.io.spdk:cnode1"
waitforserial_disconnect "$NVMF_SERIAL"
trap - SIGINT SIGTERM EXIT

View File

@ -60,6 +60,7 @@ done
devs=($(get_nvme_devs)) nvme_num=${#devs[@]}
nvme disconnect -n "nqn.2016-06.io.spdk:cnode1"
waitforserial_disconnect "$NVMF_SERIAL"
if ((nvme_num <= nvme_num_before_connection)); then
echo "nvme-cli connect target devices failed"
exit 1

View File

@ -59,6 +59,7 @@ $rpc_py nvmf_subsystem_add_host nqn.2016-06.io.spdk:cnode1 nqn.2016-06.io.spdk:h
nvme connect -t $TEST_TRANSPORT -n nqn.2016-06.io.spdk:cnode1 -q nqn.2016-06.io.spdk:host1 -a "$NVMF_FIRST_TARGET_IP" -s "$NVMF_PORT"
waitforserial "$NVMF_SERIAL"
nvme disconnect -n nqn.2016-06.io.spdk:cnode1
waitforserial_disconnect "$NVMF_SERIAL"
# Remove the host and verify that the connect fails
$rpc_py nvmf_subsystem_remove_host nqn.2016-06.io.spdk:cnode1 nqn.2016-06.io.spdk:host1
@ -69,6 +70,7 @@ $rpc_py nvmf_subsystem_allow_any_host -e nqn.2016-06.io.spdk:cnode1
nvme connect -t $TEST_TRANSPORT -n nqn.2016-06.io.spdk:cnode1 -q nqn.2016-06.io.spdk:host1 -a "$NVMF_FIRST_TARGET_IP" -s "$NVMF_PORT"
waitforserial "$NVMF_SERIAL"
nvme disconnect -n nqn.2016-06.io.spdk:cnode1
waitforserial_disconnect "$NVMF_SERIAL"
$rpc_py nvmf_delete_subsystem nqn.2016-06.io.spdk:cnode1
@ -83,6 +85,7 @@ for i in $(seq 1 $loops); do
waitforserial "$NVMF_SERIAL"
nvme disconnect -n nqn.2016-06.io.spdk:cnode1
waitforserial_disconnect "$NVMF_SERIAL"
$rpc_py nvmf_subsystem_remove_ns nqn.2016-06.io.spdk:cnode1 5
$rpc_py nvmf_delete_subsystem nqn.2016-06.io.spdk:cnode1

View File

@ -16,7 +16,7 @@ nvmfappstart -m 0xF
$rpc_py nvmf_create_transport $NVMF_TRANSPORT_OPTS -u 8192 -s 1024
for i in $(seq 0 5); do
$rpc_py nvmf_create_subsystem nqn.2016-06.io.spdk:cnode$i -a -s SPDK00000000000001
$rpc_py nvmf_create_subsystem nqn.2016-06.io.spdk:cnode$i -a -s "SPDK0000000000000${i}"
$rpc_py bdev_malloc_create $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE -b Malloc$i
$rpc_py nvmf_subsystem_add_ns nqn.2016-06.io.spdk:cnode$i Malloc$i
$rpc_py nvmf_subsystem_add_listener nqn.2016-06.io.spdk:cnode$i -t $TEST_TRANSPORT -a $NVMF_FIRST_TARGET_IP -s $NVMF_PORT
@ -35,6 +35,7 @@ sync
for i in $(seq 0 5); do
nvme disconnect -n "nqn.2016-06.io.spdk:cnode${i}"
waitforserial_disconnect "SPDK0000000000000${i}"
$rpc_py nvmf_delete_subsystem nqn.2016-06.io.spdk:cnode$i
done