Commit db005bf3 authored by Krzysztof Goreczny's avatar Krzysztof Goreczny Committed by Tomasz Zawadzki
Browse files

test/nvmf: add flag to skip kernel nvmf dependent tests



Some nvmf tests requires either kernel initiator (nvme connect, nvme
discover) or the kernel target (nvmet config) in order to run.
It might not be possible or desired to run them in some environments,
mainly containerized:
- container would need to be run with proper host path mounts and
  eaither --privileged flag (in case of Docker) or some more fine-graned
  set of capabilities.
- running multiple containers in parallel accessing same kernel nvmf
  interfaces would interfere

SPDK_TEST_SKIP_NVMF_KERNEL_TESTS has to be explicitly enabled in order
to skip such test scope. There is no change in the existing behavior
when flag is not set.

Change-Id: Id18017cf8edbe6e3738d25d85b1533ee325be4b4
Signed-off-by: default avatarKrzysztof Goreczny <krzysztof.goreczny@dell.com>
Reviewed-on: https://review.spdk.io/c/spdk/spdk/+/26331


Reviewed-by: default avatarMichal Berger <michal.berger@nutanix.com>
Reviewed-by: default avatarBoris Glimcher <Boris.Glimcher@emc.com>
Tested-by: default avatarSPDK Automated Test System <spdkbot@gmail.com>
Reviewed-by: default avatarKonrad Sztyber <ksztyber@nvidia.com>
Reviewed-by: default avatarJim Harris <jim.harris@nvidia.com>
parent e826bd04
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -176,6 +176,8 @@ export SPDK_JSONRPC_GO_CLIENT
export SPDK_TEST_SETUP
: ${SPDK_TEST_NVME_INTERRUPT=0}
export SPDK_TEST_NVME_INTERRUPT
: ${SPDK_TEST_SKIP_NVMF_KERNEL_TESTS=0}
export SPDK_TEST_SKIP_NVMF_KERNEL_TESTS

# always test with SPDK shared objects.
export SPDK_LIB_DIR="$rootdir/build/lib"
+5 −2
Original line number Diff line number Diff line
@@ -26,8 +26,11 @@ run_test "nvmf_failover" $rootdir/test/nvmf/host/failover.sh "${TEST_ARGS[@]}"
run_test "nvmf_host_discovery" $rootdir/test/nvmf/host/discovery.sh "${TEST_ARGS[@]}"
run_test "nvmf_host_multipath_status" $rootdir/test/nvmf/host/multipath_status.sh "${TEST_ARGS[@]}"
run_test "nvmf_discovery_remove_ifc" $rootdir/test/nvmf/host/discovery_remove_ifc.sh "${TEST_ARGS[@]}"

if [[ "$SPDK_TEST_SKIP_NVMF_KERNEL_TESTS" -eq 0 ]]; then
	run_test "nvmf_identify_kernel_target" "$rootdir/test/nvmf/host/identify_kernel_nvmf.sh" "${TEST_ARGS[@]}"
	run_test "nvmf_auth_host" "$rootdir/test/nvmf/host/auth.sh" "${TEST_ARGS[@]}"
fi

if [[ "$SPDK_TEST_NVMF_TRANSPORT" == "tcp" ]]; then
	run_test "nvmf_digest" "$rootdir/test/nvmf/host/digest.sh" "${TEST_ARGS[@]}"
+6 −3
Original line number Diff line number Diff line
@@ -28,10 +28,13 @@ run_test "nvmf_lvol" $rootdir/test/nvmf/target/nvmf_lvol.sh "${TEST_ARGS[@]}"
run_test "nvmf_lvs_grow" $rootdir/test/nvmf/target/nvmf_lvs_grow.sh "${TEST_ARGS[@]}"
run_test "nvmf_bdev_io_wait" $rootdir/test/nvmf/target/bdev_io_wait.sh "${TEST_ARGS[@]}"
run_test "nvmf_queue_depth" $rootdir/test/nvmf/target/queue_depth.sh "${TEST_ARGS[@]}"
run_test "nvmf_target_multipath" $rootdir/test/nvmf/target/multipath.sh "${TEST_ARGS[@]}"
run_test "nvmf_zcopy" $rootdir/test/nvmf/target/zcopy.sh "${TEST_ARGS[@]}"
run_test "nvmf_bdevio" $rootdir/test/nvmf/target/bdevio.sh "${TEST_ARGS[@]}"

if [[ "$SPDK_TEST_SKIP_NVMF_KERNEL_TESTS" -eq 0 ]]; then
	run_test "nvmf_target_multipath" $rootdir/test/nvmf/target/multipath.sh "${TEST_ARGS[@]}"
	run_test "nvmf_nmic" $rootdir/test/nvmf/target/nmic.sh "${TEST_ARGS[@]}"
	run_test "nvmf_fio_target" $rootdir/test/nvmf/target/fio.sh "${TEST_ARGS[@]}"
run_test "nvmf_bdevio" $rootdir/test/nvmf/target/bdevio.sh "${TEST_ARGS[@]}"
fi

trap - SIGINT SIGTERM EXIT
+6 −4
Original line number Diff line number Diff line
@@ -14,16 +14,18 @@ TEST_ARGS=("$@")

if [[ $SPDK_TEST_URING -eq 0 ]]; then
	run_test "nvmf_example" $rootdir/test/nvmf/target/nvmf_example.sh "${TEST_ARGS[@]}"
	run_test "nvmf_filesystem" $rootdir/test/nvmf/target/filesystem.sh "${TEST_ARGS[@]}"
	run_test "nvmf_target_discovery" $rootdir/test/nvmf/target/discovery.sh "${TEST_ARGS[@]}"
	run_test "nvmf_referrals" $rootdir/test/nvmf/target/referrals.sh "${TEST_ARGS[@]}"
	run_test "nvmf_connect_disconnect" $rootdir/test/nvmf/target/connect_disconnect.sh "${TEST_ARGS[@]}"
	run_test "nvmf_multitarget" $rootdir/test/nvmf/target/multitarget.sh "${TEST_ARGS[@]}"
	run_test "nvmf_rpc" $rootdir/test/nvmf/target/rpc.sh "${TEST_ARGS[@]}"
	run_test "nvmf_invalid" $rootdir/test/nvmf/target/invalid.sh "${TEST_ARGS[@]}"
	run_test "nvmf_connect_stress" $rootdir/test/nvmf/target/connect_stress.sh "${TEST_ARGS[@]}"
	run_test "nvmf_fused_ordering" $rootdir/test/nvmf/target/fused_ordering.sh "${TEST_ARGS[@]}"
	if [[ "$SPDK_TEST_SKIP_NVMF_KERNEL_TESTS" -eq 0 ]]; then
		run_test "nvmf_filesystem" $rootdir/test/nvmf/target/filesystem.sh "${TEST_ARGS[@]}"
		run_test "nvmf_target_discovery" $rootdir/test/nvmf/target/discovery.sh "${TEST_ARGS[@]}"
		run_test "nvmf_referrals" $rootdir/test/nvmf/target/referrals.sh "${TEST_ARGS[@]}"
		run_test "nvmf_ns_masking" test/nvmf/target/ns_masking.sh "${TEST_ARGS[@]}"
	fi
	if [[ $SPDK_TEST_NVME_CLI -eq 1 ]]; then
		run_test "nvmf_nvme_cli" $rootdir/test/nvmf/target/nvme_cli.sh "${TEST_ARGS[@]}"
	fi