vhost: Use standard path names throughout tests

Follow the pattern that most of the other tests follow by
defining testdir and rootdir at the top, then sourcing
the common files.

Change-Id: I8f4374e91f20edc244e8e8bcf8f9df198b4509c6
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/454380
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>
This commit is contained in:
Ben Walker 2019-05-10 10:54:24 -07:00 committed by Darek Stojaczyk
parent 266772ded9
commit 73bb5a717f
20 changed files with 143 additions and 103 deletions

View File

@ -1,8 +1,10 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e set -e
AUTOTEST_BASE_DIR=$(readlink -f $(dirname $0))
[[ -z "$COMMON_DIR" ]] && COMMON_DIR="$(cd $AUTOTEST_BASE_DIR/../common && pwd)" testdir=$(readlink -f $(dirname $0))
[[ -z "$TEST_DIR" ]] && TEST_DIR="$(cd $AUTOTEST_BASE_DIR/../../../../ && pwd)" rootdir=$(readlink -f $testdir/../../..)
source $rootdir/test/common/autotest_common.sh
source $rootdir/test/vhost/common.sh
dry_run=false dry_run=false
no_shutdown=false no_shutdown=false
@ -69,8 +71,6 @@ if [[ ! -r "$fio_job" ]]; then
fail "no fio job file specified" fail "no fio job file specified"
fi fi
. $COMMON_DIR/../common.sh
trap 'error_exit "${FUNCNAME}" "${LINENO}"' ERR trap 'error_exit "${FUNCNAME}" "${LINENO}"' ERR
vm_kill_all vm_kill_all
@ -80,7 +80,7 @@ if [[ $test_type =~ "spdk_vhost" ]]; then
notice "" notice ""
notice "running SPDK" notice "running SPDK"
notice "" notice ""
spdk_vhost_run --json-path=$AUTOTEST_BASE_DIR spdk_vhost_run --json-path=$testdir
notice "" notice ""
fi fi

View File

@ -1,7 +1,13 @@
testdir=$(readlink -f $(dirname $0))
rootdir=$(readlink -f $testdir/../../..)
source $rootdir/test/common/autotest_common.sh
source $rootdir/test/vhost/common.sh
source $rootdir/test/vhost/hotplug/common.sh
dry_run=false dry_run=false
no_shutdown=false no_shutdown=false
fio_bin="fio" fio_bin="fio"
fio_jobs="$HOTPLUG_DIR/fio_jobs/" fio_jobs="$testdir/fio_jobs/"
test_type=spdk_vhost_scsi test_type=spdk_vhost_scsi
reuse_vms=false reuse_vms=false
vms=() vms=()
@ -56,10 +62,9 @@ while getopts 'xh-:' optchar; do
done done
shift $(( OPTIND - 1 )) shift $(( OPTIND - 1 ))
fio_job=$HOTPLUG_DIR/fio_jobs/default_integrity.job fio_job=$testdir/fio_jobs/default_integrity.job
tmp_attach_job=$HOTPLUG_DIR/fio_jobs/fio_attach.job.tmp tmp_attach_job=$testdir/fio_jobs/fio_attach.job.tmp
tmp_detach_job=$HOTPLUG_DIR/fio_jobs/fio_detach.job.tmp tmp_detach_job=$testdir/fio_jobs/fio_detach.job.tmp
. $HOTPLUG_DIR/../common.sh
rpc_py="$SPDK_BUILD_DIR/scripts/rpc.py -s $(get_vhost_dir)/rpc.sock" rpc_py="$SPDK_BUILD_DIR/scripts/rpc.py -s $(get_vhost_dir)/rpc.sock"

View File

@ -1,8 +1,11 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e set -e
HOTPLUG_DIR=$(readlink -f $(dirname $0))
. $HOTPLUG_DIR/common.sh testdir=$(readlink -f $(dirname $0))
rootdir=$(readlink -f $testdir/../../..)
source $rootdir/test/common/autotest_common.sh
source $rootdir/test/vhost/common.sh
source $rootdir/test/vhost/hotplug/common.sh
function prepare_fio_cmd_tc1() { function prepare_fio_cmd_tc1() {
print_test_fio_header print_test_fio_header

View File

@ -1,9 +1,12 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e set -e
HOTPLUG_DIR=$(readlink -f $(dirname $0))
. $HOTPLUG_DIR/common.sh testdir=$(readlink -f $(dirname $0))
rootdir=$(readlink -f $testdir/../../..)
source $rootdir/test/common/autotest_common.sh
source $rootdir/test/vhost/common.sh
source $rootdir/test/vhost/hotplug/common.sh
function get_first_disk() { function get_first_disk() {
vm_check_scsi_location $1 vm_check_scsi_location $1

View File

@ -1,7 +1,11 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e set -e
HOTPLUG_DIR=$(readlink -f $(dirname $0))
. $HOTPLUG_DIR/common.sh testdir=$(readlink -f $(dirname $0))
rootdir=$(readlink -f $testdir/../../..)
source $rootdir/test/common/autotest_common.sh
source $rootdir/test/vhost/common.sh
source $rootdir/test/vhost/hotplug/common.sh
if [[ $scsi_hot_remove_test == 1 ]] && [[ $blk_hot_remove_test == 1 ]]; then if [[ $scsi_hot_remove_test == 1 ]] && [[ $blk_hot_remove_test == 1 ]]; then
notice "Vhost-scsi and vhost-blk hotremove tests cannot be run together" notice "Vhost-scsi and vhost-blk hotremove tests cannot be run together"
@ -71,9 +75,9 @@ $rpc_py get_bdevs
if [[ $scsi_hot_remove_test == 0 ]] && [[ $blk_hot_remove_test == 0 ]]; then if [[ $scsi_hot_remove_test == 0 ]] && [[ $blk_hot_remove_test == 0 ]]; then
pre_hot_attach_detach_test_case pre_hot_attach_detach_test_case
$HOTPLUG_DIR/scsi_hotattach.sh --fio-bin=$fio_bin & $testdir/scsi_hotattach.sh --fio-bin=$fio_bin &
first_script=$! first_script=$!
$HOTPLUG_DIR/scsi_hotdetach.sh --fio-bin=$fio_bin & $testdir/scsi_hotdetach.sh --fio-bin=$fio_bin &
second_script=$! second_script=$!
wait $first_script wait $first_script
wait $second_script wait $second_script
@ -81,9 +85,9 @@ if [[ $scsi_hot_remove_test == 0 ]] && [[ $blk_hot_remove_test == 0 ]]; then
clear_vhost_config clear_vhost_config
fi fi
if [[ $scsi_hot_remove_test == 1 ]]; then if [[ $scsi_hot_remove_test == 1 ]]; then
source $HOTPLUG_DIR/scsi_hotremove.sh source $testdir/scsi_hotremove.sh
fi fi
if [[ $blk_hot_remove_test == 1 ]]; then if [[ $blk_hot_remove_test == 1 ]]; then
source $HOTPLUG_DIR/blk_hotremove.sh source $testdir/blk_hotremove.sh
fi fi
post_test_case post_test_case

View File

@ -1,11 +1,13 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e set -e
INITIATOR_DIR=$(readlink -f $(dirname $0))
[[ -z "$COMMON_DIR" ]] && COMMON_DIR="$(cd $INITIATOR_DIR/../common && pwd)"
ROOT_DIR=$(readlink -f $INITIATOR_DIR/../../..)
PLUGIN_DIR=$ROOT_DIR/examples/bdev/fio_plugin testdir=$(readlink -f $(dirname $0))
rootdir=$(readlink -f $testdir/../../..)
source $rootdir/test/common/autotest_common.sh
source $rootdir/test/vhost/common.sh
PLUGIN_DIR=$rootdir/examples/bdev/fio_plugin
FIO_PATH="/usr/src/fio" FIO_PATH="/usr/src/fio"
virtio_bdevs="" virtio_bdevs=""
virtio_with_unmap="" virtio_with_unmap=""
@ -39,10 +41,9 @@ while getopts 'h-:' optchar; do
esac esac
done done
source $COMMON_DIR/../common.sh source $testdir/autotest.config
source $INITIATOR_DIR/autotest.config PLUGIN_DIR=$rootdir/examples/bdev/fio_plugin
PLUGIN_DIR=$ROOT_DIR/examples/bdev/fio_plugin RPC_PY="$rootdir/scripts/rpc.py -s $(get_vhost_dir)/rpc.sock"
RPC_PY="$ROOT_DIR/scripts/rpc.py -s $(get_vhost_dir)/rpc.sock"
if [ ! -x $FIO_PATH ]; then if [ ! -x $FIO_PATH ]; then
error "Invalid path of fio binary" error "Invalid path of fio binary"
@ -72,7 +73,7 @@ function remove_kernel_vhost()
fi fi
} }
trap 'rm -f *.state $ROOT_DIR/spdk.tar.gz $ROOT_DIR/fio.tar.gz $(get_vhost_dir)/Virtio0;\ trap 'rm -f *.state $rootdir/spdk.tar.gz $rootdir/fio.tar.gz $(get_vhost_dir)/Virtio0;\
remove_kernel_vhost; error_exit "${FUNCNAME}""${LINENO}"' ERR SIGTERM SIGABRT remove_kernel_vhost; error_exit "${FUNCNAME}""${LINENO}"' ERR SIGTERM SIGABRT
function run_spdk_fio() { function run_spdk_fio() {
LD_PRELOAD=$PLUGIN_DIR/fio_plugin $FIO_PATH/fio --ioengine=spdk_bdev\ LD_PRELOAD=$PLUGIN_DIR/fio_plugin $FIO_PATH/fio --ioengine=spdk_bdev\
@ -106,7 +107,7 @@ function create_bdev_config()
$RPC_PY construct_vhost_scsi_controller naa.Malloc1.0 $RPC_PY construct_vhost_scsi_controller naa.Malloc1.0
$RPC_PY add_vhost_scsi_lun naa.Malloc1.0 0 Malloc1 $RPC_PY add_vhost_scsi_lun naa.Malloc1.0 0 Malloc1
vbdevs=$(discover_bdevs $ROOT_DIR $INITIATOR_DIR/bdev.conf) vbdevs=$(discover_bdevs $rootdir $testdir/bdev.conf)
virtio_bdevs=$(jq -r '[.[].name] | join(":")' <<< $vbdevs) virtio_bdevs=$(jq -r '[.[].name] | join(":")' <<< $vbdevs)
virtio_with_unmap=$(jq -r '[.[] | select(.supported_io_types.unmap==true).name] virtio_with_unmap=$(jq -r '[.[] | select(.supported_io_types.unmap==true).name]
| join(":")' <<< $vbdevs) | join(":")' <<< $vbdevs)
@ -121,14 +122,14 @@ create_bdev_config
timing_exit create_bdev_config timing_exit create_bdev_config
timing_enter run_spdk_fio timing_enter run_spdk_fio
run_spdk_fio $INITIATOR_DIR/bdev.fio --filename=$virtio_bdevs --section=job_randwrite --section=job_randrw \ run_spdk_fio $testdir/bdev.fio --filename=$virtio_bdevs --section=job_randwrite --section=job_randrw \
--section=job_write --section=job_rw --spdk_conf=$INITIATOR_DIR/bdev.conf --section=job_write --section=job_rw --spdk_conf=$testdir/bdev.conf
report_test_completion "vhost_run_spdk_fio" report_test_completion "vhost_run_spdk_fio"
timing_exit run_spdk_fio timing_exit run_spdk_fio
timing_enter run_spdk_fio_unmap timing_enter run_spdk_fio_unmap
run_spdk_fio $INITIATOR_DIR/bdev.fio --filename=$virtio_with_unmap --spdk_conf=$INITIATOR_DIR/bdev.conf \ run_spdk_fio $testdir/bdev.fio --filename=$virtio_with_unmap --spdk_conf=$testdir/bdev.conf \
--spdk_conf=$INITIATOR_DIR/bdev.conf --spdk_conf=$testdir/bdev.conf
timing_exit run_spdk_fio_unmap timing_exit run_spdk_fio_unmap
timing_enter create_kernel_vhost timing_enter create_kernel_vhost
@ -150,14 +151,14 @@ vm_wait_for_boot 300 $vm_no
timing_exit vm_wait_for_boot timing_exit vm_wait_for_boot
timing_enter vm_scp_spdk timing_enter vm_scp_spdk
touch $ROOT_DIR/spdk.tar.gz touch $rootdir/spdk.tar.gz
tar --exclude="spdk.tar.gz" --exclude="*.o" --exclude="*.d" --exclude=".git" -C $ROOT_DIR -zcf $ROOT_DIR/spdk.tar.gz . tar --exclude="spdk.tar.gz" --exclude="*.o" --exclude="*.d" --exclude=".git" -C $rootdir -zcf $rootdir/spdk.tar.gz .
vm_scp $vm_no $ROOT_DIR/spdk.tar.gz "127.0.0.1:/root" vm_scp $vm_no $rootdir/spdk.tar.gz "127.0.0.1:/root"
vm_ssh $vm_no "mkdir -p /root/spdk; tar -zxf /root/spdk.tar.gz -C /root/spdk --strip-components=1" vm_ssh $vm_no "mkdir -p /root/spdk; tar -zxf /root/spdk.tar.gz -C /root/spdk --strip-components=1"
touch $ROOT_DIR/fio.tar.gz touch $rootdir/fio.tar.gz
tar --exclude="fio.tar.gz" --exclude="*.o" --exclude="*.d" --exclude=".git" -C $FIO_PATH -zcf $ROOT_DIR/fio.tar.gz . tar --exclude="fio.tar.gz" --exclude="*.o" --exclude="*.d" --exclude=".git" -C $FIO_PATH -zcf $rootdir/fio.tar.gz .
vm_scp $vm_no $ROOT_DIR/fio.tar.gz "127.0.0.1:/root" vm_scp $vm_no $rootdir/fio.tar.gz "127.0.0.1:/root"
vm_ssh $vm_no "rm -rf /root/fio_src; mkdir -p /root/fio_src; tar -zxf /root/fio.tar.gz -C /root/fio_src --strip-components=1" vm_ssh $vm_no "rm -rf /root/fio_src; mkdir -p /root/fio_src; tar -zxf /root/fio.tar.gz -C /root/fio_src --strip-components=1"
timing_exit vm_scp_spdk timing_exit vm_scp_spdk
@ -192,7 +193,7 @@ timing_enter vm_shutdown_all
vm_shutdown_all vm_shutdown_all
timing_exit vm_shutdown_all timing_exit vm_shutdown_all
rm -f *.state $ROOT_DIR/spdk.tar.gz $ROOT_DIR/fio.tar.gz $(get_vhost_dir)/Virtio0 rm -f *.state $rootdir/spdk.tar.gz $rootdir/fio.tar.gz $(get_vhost_dir)/Virtio0
timing_enter remove_kernel_vhost timing_enter remove_kernel_vhost
remove_kernel_vhost remove_kernel_vhost
timing_exit remove_kernel_vhost timing_exit remove_kernel_vhost

View File

@ -1,7 +1,11 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e set -e
INTEGRITY_BASE_DIR=$(readlink -f $(dirname $0)) testdir=$(readlink -f $(dirname $0))
rootdir=$(readlink -f $testdir/../../..)
source $rootdir/test/common/autotest_common.sh
source $rootdir/test/vhost/common.sh
ctrl_type="spdk_vhost_scsi" ctrl_type="spdk_vhost_scsi"
vm_fs="ext4" vm_fs="ext4"
@ -82,7 +86,7 @@ vm_run 0
vm_wait_for_boot 300 0 vm_wait_for_boot 300 0
# Run tests on VM # Run tests on VM
vm_scp 0 $INTEGRITY_BASE_DIR/integrity_vm.sh root@127.0.0.1:/root/integrity_vm.sh vm_scp 0 $testdir/integrity_vm.sh root@127.0.0.1:/root/integrity_vm.sh
vm_ssh 0 "~/integrity_vm.sh $ctrl_type \"$vm_fs\"" vm_ssh 0 "~/integrity_vm.sh $ctrl_type \"$vm_fs\""
notice "Shutting down virtual machine..." notice "Shutting down virtual machine..."

View File

@ -1,7 +1,11 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -xe set -xe
basedir=$(readlink -f $(dirname $0)) testdir=$(readlink -f $(dirname $0))
rootdir=$(readlink -f $testdir/../../..)
source $rootdir/test/common/autotest_common.sh
source $rootdir/test/vhost/common.sh
MAKE="make -j$(( $(nproc) * 2 ))" MAKE="make -j$(( $(nproc) * 2 ))"
if [[ $1 == "spdk_vhost_scsi" ]]; then if [[ $1 == "spdk_vhost_scsi" ]]; then

View File

@ -1,14 +1,12 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e set -e
rootdir=$(readlink -f $(dirname $0))/../../.. testdir=$(readlink -f $(dirname $0))
source "$rootdir/scripts/common.sh" rootdir=$(readlink -f $testdir/../../..)
source $rootdir/test/common/autotest_common.sh
source $rootdir/test/vhost/common.sh
source $rootdir/scripts/common.sh
LVOL_TEST_DIR=$(readlink -f $(dirname $0))
[[ -z "$TEST_DIR" ]] && TEST_DIR="$(cd $LVOL_TEST_DIR/../../../../ && pwd)"
[[ -z "$COMMON_DIR" ]] && COMMON_DIR="$(cd $LVOL_TEST_DIR/../common && pwd)"
. $COMMON_DIR/../common.sh
rpc_py="$SPDK_BUILD_DIR/scripts/rpc.py -s $(get_vhost_dir)/rpc.sock" rpc_py="$SPDK_BUILD_DIR/scripts/rpc.py -s $(get_vhost_dir)/rpc.sock"
vm_count=1 vm_count=1
@ -113,7 +111,7 @@ fi
if $distribute_cores; then if $distribute_cores; then
# FIXME: this need to be handled entirely in common.sh # FIXME: this need to be handled entirely in common.sh
source $LVOL_TEST_DIR/autotest.config source $testdir/autotest.config
fi fi
trap 'error_exit "${FUNCNAME}" "${LINENO}"' SIGTERM SIGABRT ERR trap 'error_exit "${FUNCNAME}" "${LINENO}"' SIGTERM SIGABRT ERR
@ -249,7 +247,7 @@ else
job_file="default_integrity.job" job_file="default_integrity.job"
fi fi
# Run FIO traffic # Run FIO traffic
run_fio $fio_bin --job-file=$COMMON_DIR/fio_jobs/$job_file --out="$TEST_DIR/fio_results" $fio_disks run_fio $fio_bin --job-file=$rootdir/test/vhost/common/fio_jobs/$job_file --out="$TEST_DIR/fio_results" $fio_disks
notice "Shutting down virtual machines..." notice "Shutting down virtual machines..."
vm_shutdown_all vm_shutdown_all

View File

@ -1,6 +1,8 @@
#!/usr/bin/env bash #!/usr/bin/env bash
rootdir=$(readlink -f $(dirname $0))/../.. testdir=$(readlink -f $(dirname $0))
source "$rootdir/test/common/autotest_common.sh" rootdir=$(readlink -f $testdir/../..)
source $rootdir/test/common/autotest_common.sh
source $rootdir/test/vhost/common.sh
set -e set -e

View File

@ -1,8 +1,9 @@
#!/usr/bin/env bash #!/usr/bin/env bash
NEGATIVE_BASE_DIR=$(readlink -f $(dirname $0)) testdir=$(readlink -f $(dirname $0))
[[ -z "$COMMON_DIR" ]] && COMMON_DIR="$(cd $NEGATIVE_BASE_DIR/../common && pwd)" rootdir=$(readlink -f $testdir/../../..)
[[ -z "$TEST_DIR" ]] && TEST_DIR="$(cd $NEGATIVE_BASE_DIR/../../../../ && pwd)" source $rootdir/test/common/autotest_common.sh
source $rootdir/test/vhost/common.sh
function usage() function usage()
{ {
@ -31,16 +32,13 @@ while getopts 'xh-:' optchar; do
esac esac
done done
. $COMMON_DIR/../common.sh
trap error_exit ERR trap error_exit ERR
VHOST_APP="$SPDK_BUILD_DIR/app/vhost/vhost" VHOST_APP="$SPDK_BUILD_DIR/app/vhost/vhost"
notice "Testing vhost command line arguments" notice "Testing vhost command line arguments"
# Printing help will force vhost to exit without error # Printing help will force vhost to exit without error
$VHOST_APP -c /path/to/non_existing_file/conf -S $NEGATIVE_BASE_DIR -e 0x0 -s 1024 -d -h --silence-noticelog $VHOST_APP -c /path/to/non_existing_file/conf -S $testdir -e 0x0 -s 1024 -d -h --silence-noticelog
# Testing vhost create pid file option. Vhost will exit with error as invalid config path is given # Testing vhost create pid file option. Vhost will exit with error as invalid config path is given
if $VHOST_APP -c /path/to/non_existing_file/conf -f $SPDK_VHOST_SCSI_TEST_DIR/vhost.pid; then if $VHOST_APP -c /path/to/non_existing_file/conf -f $SPDK_VHOST_SCSI_TEST_DIR/vhost.pid; then
@ -48,7 +46,7 @@ if $VHOST_APP -c /path/to/non_existing_file/conf -f $SPDK_VHOST_SCSI_TEST_DIR/vh
fi fi
# Testing vhost start with invalid config. Vhost will exit with error as bdev module init failed # Testing vhost start with invalid config. Vhost will exit with error as bdev module init failed
if $VHOST_APP -c $NEGATIVE_BASE_DIR/invalid.config; then if $VHOST_APP -c $testdir/invalid.config; then
fail "vhost started when specifying invalid config file" fail "vhost started when specifying invalid config file"
fi fi
@ -68,7 +66,7 @@ if [[ $RUN_NIGHTLY -eq 1 ]]; then
notice "" notice ""
notice "running SPDK" notice "running SPDK"
notice "" notice ""
spdk_vhost_run --json-path=$NEGATIVE_BASE_DIR spdk_vhost_run --json-path=$testdir
notice "" notice ""
rpc_py="$SPDK_BUILD_DIR/scripts/rpc.py -s $(get_vhost_dir)/rpc.sock" rpc_py="$SPDK_BUILD_DIR/scripts/rpc.py -s $(get_vhost_dir)/rpc.sock"

View File

@ -1,6 +1,11 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e set -e
testdir=$(readlink -f $(dirname $0))
rootdir=$(readlink -f $testdir/../../..)
source $rootdir/test/common/autotest_common.sh
source $rootdir/test/vhost/common.sh
vm_count=1 vm_count=1
vm_memory=2048 vm_memory=2048
vm_image="/home/sys_sgsw/vhost_vm_image.qcow2" vm_image="/home/sys_sgsw/vhost_vm_image.qcow2"
@ -136,10 +141,6 @@ while getopts 'xh-:' optchar; do
esac esac
done done
. $(readlink -e "$(dirname $0)/../common.sh") || exit 1
. $(readlink -e "$(dirname $0)/../../../scripts/common.sh") || exit 1
BASE_DIR=$(readlink -f $(dirname ${BASH_SOURCE[0]}))
COMMON_DIR="$(cd $(readlink -f $(dirname $0))/../common && pwd)"
rpc_py="$SPDK_BUILD_DIR/scripts/rpc.py -s $(get_vhost_dir)/rpc.sock" rpc_py="$SPDK_BUILD_DIR/scripts/rpc.py -s $(get_vhost_dir)/rpc.sock"
if [[ -n $custom_cpu_cfg ]]; then if [[ -n $custom_cpu_cfg ]]; then
@ -148,7 +149,7 @@ fi
if [[ -z $fio_job ]]; then if [[ -z $fio_job ]]; then
warning "No FIO job specified! Will use default from common directory." warning "No FIO job specified! Will use default from common directory."
fio_job="$COMMON_DIR/fio_jobs/default_integrity.job" fio_job="$rootdir/test/vhost/common/fio_jobs/default_integrity.job"
fi fi
trap 'error_exit "${FUNCNAME}" "${LINENO}"' INT ERR trap 'error_exit "${FUNCNAME}" "${LINENO}"' INT ERR

View File

@ -1,7 +1,11 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -xe set -xe
BASE_DIR=$(readlink -f $(dirname $0))
testdir=$(readlink -f $(dirname $0))
rootdir=$(readlink -f $testdir/../../..)
source $rootdir/test/common/autotest_common.sh
source $rootdir/test/vhost/common.sh
disk_name="vda" disk_name="vda"
test_folder_name="readonly_test" test_folder_name="readonly_test"
@ -15,7 +19,7 @@ function error()
trap - ERR trap - ERR
set +e set +e
umount "$test_folder_name" umount "$test_folder_name"
rm -rf "$BASE_DIR/$test_folder_name" rm -rf "$testdir/$test_folder_name"
exit 1 exit 1
} }
@ -36,7 +40,7 @@ mount /dev/$disk_name"1" $test_folder_name
echo "INFO: Removing folder and unmounting $test_folder_name" echo "INFO: Removing folder and unmounting $test_folder_name"
umount "$test_folder_name" umount "$test_folder_name"
rm -rf "$BASE_DIR/$test_folder_name" rm -rf "$testdir/$test_folder_name"
echo "INFO: Deleting partition" echo "INFO: Deleting partition"
echo -e "d\n1\nw" | fdisk /dev/$disk_name echo -e "d\n1\nw" | fdisk /dev/$disk_name

View File

@ -1,7 +1,11 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -xe set -xe
BASE_DIR=$(readlink -f $(dirname $0))
testdir=$(readlink -f $(dirname $0))
rootdir=$(readlink -f $testdir/../../..)
source $rootdir/test/common/autotest_common.sh
source $rootdir/test/vhost/common.sh
disk_name="vda" disk_name="vda"
test_folder_name="readonly_test" test_folder_name="readonly_test"
@ -15,7 +19,7 @@ function error()
trap - ERR trap - ERR
set +e set +e
umount "$test_folder_name" umount "$test_folder_name"
rm -rf "$BASE_DIR/$test_folder_name" rm -rf "$testdir/$test_folder_name"
exit 1 exit 1
} }
@ -44,4 +48,4 @@ mount /dev/$disk_name"1" $test_folder_name
echo "INFO: Creating a test file $test_file_name" echo "INFO: Creating a test file $test_file_name"
truncate -s "200M" $test_folder_name/$test_file_name truncate -s "200M" $test_folder_name/$test_file_name
umount "$test_folder_name" umount "$test_folder_name"
rm -rf "$BASE_DIR/$test_folder_name" rm -rf "$testdir/$test_folder_name"

View File

@ -1,7 +1,11 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -x set -x
BASE_DIR=$(readlink -f $(dirname $0))
testdir=$(readlink -f $(dirname $0))
rootdir=$(readlink -f $testdir/../../..)
source $rootdir/test/common/autotest_common.sh
source $rootdir/test/vhost/common.sh
disk_name="vda" disk_name="vda"
test_folder_name="readonly_test" test_folder_name="readonly_test"
@ -13,7 +17,7 @@ function error()
echo -e "ERROR: $@" echo -e "ERROR: $@"
echo "===========" echo "==========="
umount "$test_folder_name" umount "$test_folder_name"
rm -rf "$BASE_DIR/$test_folder_name" rm -rf "$testdir/$test_folder_name"
exit 1 exit 1
} }
@ -30,13 +34,13 @@ if [[ ! -b "/dev/$disk_name"1"" ]]; then
error "Partition not found!" error "Partition not found!"
fi fi
mkdir $BASE_DIR/$test_folder_name mkdir $testdir/$test_folder_name
if [[ $? != 0 ]]; then if [[ $? != 0 ]]; then
error "Failed to create test folder $test_folder_name" error "Failed to create test folder $test_folder_name"
fi fi
echo "INFO: Mounting partition" echo "INFO: Mounting partition"
mount /dev/$disk_name"1" $BASE_DIR/$test_folder_name mount /dev/$disk_name"1" $testdir/$test_folder_name
if [[ $? != 0 ]]; then if [[ $? != 0 ]]; then
error "Failed to mount partition $disk_name""1" error "Failed to mount partition $disk_name""1"
fi fi
@ -58,13 +62,13 @@ else
fi fi
echo "INFO: Copying file from readonly disk" echo "INFO: Copying file from readonly disk"
cp $test_folder_name/$test_file_name $BASE_DIR cp $test_folder_name/$test_file_name $testdir
if ! rm $BASE_DIR/$test_file_name; then if ! rm $testdir/$test_file_name; then
error "Copied file from a readonly disk was not found!" error "Copied file from a readonly disk was not found!"
fi fi
umount "$test_folder_name" umount "$test_folder_name"
rm -rf "$BASE_DIR/$test_folder_name" rm -rf "$testdir/$test_folder_name"
echo "INFO: Trying to create file system on a readonly disk" echo "INFO: Trying to create file system on a readonly disk"
if mkfs.ext4 -F /dev/$disk_name"1"; then if mkfs.ext4 -F /dev/$disk_name"1"; then
error "Created file system on a readonly disk!" error "Created file system on a readonly disk!"

View File

@ -1,12 +1,13 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e set -e
READONLY_BASE_DIR=$(readlink -f $(dirname $0))
[[ -z "$TEST_DIR" ]] && TEST_DIR="$(cd $READONLY_BASE_DIR/../../../../ && pwd)"
[[ -z "$COMMON_DIR" ]] && COMMON_DIR="$(cd $READONLY_BASE_DIR/../common && pwd)"
source $COMMON_DIR/../common.sh
rpc_py="$READONLY_BASE_DIR/../../../scripts/rpc.py -s $(get_vhost_dir)/rpc.sock" testdir=$(readlink -f $(dirname $0))
rootdir=$(readlink -f $testdir/../../..)
source $rootdir/test/common/autotest_common.sh
source $rootdir/test/vhost/common.sh
rpc_py="$testdir/../../../scripts/rpc.py -s $(get_vhost_dir)/rpc.sock"
vm_img="" vm_img=""
disk="Nvme0n1" disk="Nvme0n1"
@ -90,7 +91,7 @@ function blk_ro_tc1()
vm_run $vm_no vm_run $vm_no
vm_wait_for_boot 300 $vm_no vm_wait_for_boot 300 $vm_no
notice "Preparing partition and file on guest VM" notice "Preparing partition and file on guest VM"
vm_ssh $vm_no "bash -s" < $READONLY_BASE_DIR/disabled_readonly_vm.sh vm_ssh $vm_no "bash -s" < $testdir/disabled_readonly_vm.sh
sleep 1 sleep 1
vm_shutdown_all vm_shutdown_all
@ -102,7 +103,7 @@ function blk_ro_tc1()
vm_run $vm_no vm_run $vm_no
vm_wait_for_boot 300 $vm_no vm_wait_for_boot 300 $vm_no
notice "Testing readonly feature on guest VM" notice "Testing readonly feature on guest VM"
vm_ssh $vm_no "bash -s" < $READONLY_BASE_DIR/enabled_readonly_vm.sh vm_ssh $vm_no "bash -s" < $testdir/enabled_readonly_vm.sh
sleep 3 sleep 3
vm_shutdown_all vm_shutdown_all
@ -114,7 +115,7 @@ function blk_ro_tc1()
vm_run $vm_no vm_run $vm_no
vm_wait_for_boot 300 $vm_no vm_wait_for_boot 300 $vm_no
notice "Removing partition and file from test disk on guest VM" notice "Removing partition and file from test disk on guest VM"
vm_ssh $vm_no "bash -s" < $READONLY_BASE_DIR/delete_partition_vm.sh vm_ssh $vm_no "bash -s" < $testdir/delete_partition_vm.sh
sleep 1 sleep 1
vm_shutdown_all vm_shutdown_all

View File

@ -1,18 +1,20 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e set -e
SHARED_DIR=$(readlink -f $(dirname $0))
[[ -z "$COMMON_DIR" ]] && COMMON_DIR="$(cd $SHARED_DIR/../common && pwd)" testdir=$(readlink -f $(dirname $0))
ROOT_DIR=$(readlink -f $SHARED_DIR/../../..) rootdir=$(readlink -f $testdir/../../..)
source $COMMON_DIR/../common.sh source $rootdir/test/common/autotest_common.sh
PLUGIN_DIR=$ROOT_DIR/examples/bdev/fio_plugin source $rootdir/test/vhost/common.sh
PLUGIN_DIR=$rootdir/examples/bdev/fio_plugin
FIO_PATH="/usr/src/fio" FIO_PATH="/usr/src/fio"
rpc_py="$SPDK_BUILD_DIR/scripts/rpc.py -s $(get_vhost_dir)/rpc.sock" rpc_py="$SPDK_BUILD_DIR/scripts/rpc.py -s $(get_vhost_dir)/rpc.sock"
function run_spdk_fio() { function run_spdk_fio() {
LD_PRELOAD=$PLUGIN_DIR/fio_plugin $FIO_PATH/fio --ioengine=spdk_bdev \ LD_PRELOAD=$PLUGIN_DIR/fio_plugin $FIO_PATH/fio --ioengine=spdk_bdev \
"$COMMON_DIR/fio_jobs/default_initiator.job" --runtime=10 --rw=randrw \ "$rootdir/test/vhost/common/fio_jobs/default_initiator.job" --runtime=10 --rw=randrw \
--spdk_mem=1024 --spdk_single_seg=1 --spdk_conf=$SHARED_DIR/bdev.conf "$@" --spdk_mem=1024 --spdk_single_seg=1 --spdk_conf=$testdir/bdev.conf "$@"
} }
trap 'error_exit "${FUNCNAME}" "${LINENO}"' ERR SIGTERM SIGABRT trap 'error_exit "${FUNCNAME}" "${LINENO}"' ERR SIGTERM SIGABRT

View File

@ -2,6 +2,7 @@
testdir=$(readlink -f $(dirname $0)) testdir=$(readlink -f $(dirname $0))
rootdir=$(readlink -f $testdir/../..) rootdir=$(readlink -f $testdir/../..)
source $rootdir/test/common/autotest_common.sh source $rootdir/test/common/autotest_common.sh
source $rootdir/test/vhost/common.sh
echo "Running SPDK vhost fio autotest..." echo "Running SPDK vhost fio autotest..."
if [[ $(uname -s) != Linux ]]; then if [[ $(uname -s) != Linux ]]; then

View File

@ -3,8 +3,9 @@ set -xe
testdir=$(readlink -f $(dirname $0)) testdir=$(readlink -f $(dirname $0))
rootdir=$(readlink -f $testdir/../../..) rootdir=$(readlink -f $testdir/../../..)
. $testdir/../common.sh source $rootdir/test/common/autotest_common.sh
. $rootdir/test/bdev/nbd_common.sh source $rootdir/test/vhost/common.sh
source $rootdir/test/bdev/nbd_common.sh
rpc_py="$SPDK_BUILD_DIR/scripts/rpc.py -s $(get_vhost_dir)/rpc.sock" rpc_py="$SPDK_BUILD_DIR/scripts/rpc.py -s $(get_vhost_dir)/rpc.sock"
vm_no="0" vm_no="0"

View File

@ -2,9 +2,9 @@
set -e set -e
testdir=$(readlink -f $(dirname $0)) testdir=$(readlink -f $(dirname $0))
rootdir=$(readlink -f $(dirname $0))/../../.. rootdir=$(readlink -f $testdir/../../..)
vhost_common_dir=$(readlink -e "$(dirname $0)/../common") source $rootdir/test/common/autotest_common.sh
source "$vhost_common_dir/../common.sh" source $rootdir/test/vhost/common.sh
rpc_py="$rootdir/scripts/rpc.py -s $(get_vhost_dir)/rpc.sock" rpc_py="$rootdir/scripts/rpc.py -s $(get_vhost_dir)/rpc.sock"
ctrl_type="spdk_vhost_scsi" ctrl_type="spdk_vhost_scsi"