test/vhost: move fiotest functions to common directory
Move files from test/vhost/fiotest to test/vhost/common. Scripts and functions from fio tests will be re-used in any new test scripts. Change-Id: I2423d636d41dcb2b2af12987769961607e969392 Signed-off-by: Lukasz Galka <lukaszx.galka@intel.com> Reviewed-on: https://review.gerrithub.io/372545 Reviewed-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Karol Latecki <karol.latecki@intel.com> Reviewed-by: Pawel Kaminski <pawelx.kaminski@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
This commit is contained in:
parent
a604a70edd
commit
3d738d4569
@ -7,8 +7,8 @@ MAKE="make -j$(( $(nproc) * 2 ))"
|
|||||||
# Default running dir -> spdk/..
|
# Default running dir -> spdk/..
|
||||||
[[ -z "$TEST_DIR" ]] && TEST_DIR=$BASE_DIR/../../../../
|
[[ -z "$TEST_DIR" ]] && TEST_DIR=$BASE_DIR/../../../../
|
||||||
|
|
||||||
|
COMMON_DIR="$(cd $BASE_DIR/../common && pwd)"
|
||||||
TEST_DIR="$(mkdir -p $TEST_DIR && cd $TEST_DIR && echo $PWD)"
|
TEST_DIR="$(mkdir -p $TEST_DIR && cd $TEST_DIR && echo $PWD)"
|
||||||
|
|
||||||
SPDK_SRC_DIR=$TEST_DIR/spdk
|
SPDK_SRC_DIR=$TEST_DIR/spdk
|
||||||
SPDK_BUILD_DIR=$BASE_DIR/../../../
|
SPDK_BUILD_DIR=$BASE_DIR/../../../
|
||||||
VHOST_APP=$SPDK_BUILD_DIR/app/vhost/vhost
|
VHOST_APP=$SPDK_BUILD_DIR/app/vhost/vhost
|
||||||
@ -39,7 +39,7 @@ INSTALL_DIR="$TEST_DIR/root"
|
|||||||
|
|
||||||
mkdir -p $TEST_DIR
|
mkdir -p $TEST_DIR
|
||||||
|
|
||||||
. $BASE_DIR/autotest.config
|
. $COMMON_DIR/autotest.config
|
||||||
|
|
||||||
RPC_PORT=5260
|
RPC_PORT=5260
|
||||||
|
|
||||||
@ -125,11 +125,13 @@ function spdk_build_and_install()
|
|||||||
|
|
||||||
function spdk_vhost_run()
|
function spdk_vhost_run()
|
||||||
{
|
{
|
||||||
|
local vhost_conf_path="$1"
|
||||||
|
local vhost_app="$SPDK_BUILD_DIR/app/vhost/vhost"
|
||||||
local vhost_log_file="$SPDK_VHOST_SCSI_TEST_DIR/vhost.log"
|
local vhost_log_file="$SPDK_VHOST_SCSI_TEST_DIR/vhost.log"
|
||||||
local vhost_pid_file="$SPDK_VHOST_SCSI_TEST_DIR/vhost.pid"
|
local vhost_pid_file="$SPDK_VHOST_SCSI_TEST_DIR/vhost.pid"
|
||||||
local vhost_socket="$SPDK_VHOST_SCSI_TEST_DIR/usvhost"
|
local vhost_socket="$SPDK_VHOST_SCSI_TEST_DIR/usvhost"
|
||||||
local vhost_conf_template="$BASE_DIR/vhost.conf.in"
|
local vhost_conf_template="$vhost_conf_path/vhost.conf.in"
|
||||||
local vhost_conf_file="$BASE_DIR/vhost.conf"
|
local vhost_conf_file="$vhost_conf_path/vhost.conf"
|
||||||
echo "INFO: starting vhost app in background"
|
echo "INFO: starting vhost app in background"
|
||||||
[[ -r "$vhost_pid_file" ]] && spdk_vhost_kill
|
[[ -r "$vhost_pid_file" ]] && spdk_vhost_kill
|
||||||
[[ -d $SPDK_VHOST_SCSI_TEST_DIR ]] && rm -f $SPDK_VHOST_SCSI_TEST_DIR/*
|
[[ -d $SPDK_VHOST_SCSI_TEST_DIR ]] && rm -f $SPDK_VHOST_SCSI_TEST_DIR/*
|
@ -159,7 +159,7 @@ def main():
|
|||||||
# VM - tuple of IP / Port / Filename for VM to run test
|
# VM - tuple of IP / Port / Filename for VM to run test
|
||||||
print("Preparing VM {0} - {1} for FIO job".format(i, vm[0]))
|
print("Preparing VM {0} - {1} for FIO job".format(i, vm[0]))
|
||||||
|
|
||||||
exec_cmd("./test/vhost/fiotest/vm_ssh.sh {vm_num} sh -c 'rm {cfg}'"
|
exec_cmd("./test/vhost/common/vm_ssh.sh {vm_num} sh -c 'rm {cfg}'"
|
||||||
.format(vm_num=i, cfg=fio_cfg_fname), blocking=True)
|
.format(vm_num=i, cfg=fio_cfg_fname), blocking=True)
|
||||||
|
|
||||||
# Copy FIO config to VM
|
# Copy FIO config to VM
|
||||||
@ -167,7 +167,7 @@ def main():
|
|||||||
for line in fio_cfg_fh.readlines():
|
for line in fio_cfg_fh.readlines():
|
||||||
if "filename" in line:
|
if "filename" in line:
|
||||||
line = "filename=" + vm[2]
|
line = "filename=" + vm[2]
|
||||||
out = exec_cmd("./test/vhost/fiotest/vm_ssh.sh {vm_num} sh -c 'echo {line} >> {cfg}'"
|
out = exec_cmd("./test/vhost/common/vm_ssh.sh {vm_num} sh -c 'echo {line} >> {cfg}'"
|
||||||
.format(vm_num=i, line=line.strip(), cfg=fio_cfg_fname), blocking=True)
|
.format(vm_num=i, line=line.strip(), cfg=fio_cfg_fname), blocking=True)
|
||||||
if out[0] != 0:
|
if out[0] != 0:
|
||||||
print("ERROR! While copying FIO job config file to VM {vm_num} - {vm_ip}"
|
print("ERROR! While copying FIO job config file to VM {vm_num} - {vm_ip}"
|
@ -1,6 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
BASE_DIR=$(readlink -f $(dirname $0))
|
BASE_DIR=$(readlink -f $(dirname $0))
|
||||||
|
[[ -z "$COMMON_DIR" ]] && COMMON_DIR="$(cd $BASE_DIR/../common && pwd)"
|
||||||
[[ -z "$TEST_DIR" ]] && TEST_DIR="$(cd $BASE_DIR/../../../../ && pwd)"
|
[[ -z "$TEST_DIR" ]] && TEST_DIR="$(cd $BASE_DIR/../../../../ && pwd)"
|
||||||
|
|
||||||
function usage()
|
function usage()
|
||||||
@ -13,6 +14,7 @@ function usage()
|
|||||||
echo " --gdb Run app under gdb"
|
echo " --gdb Run app under gdb"
|
||||||
echo " --gdbserver Run app under gdb-server"
|
echo " --gdbserver Run app under gdb-server"
|
||||||
echo " --work-dir=PATH Where to find source/project. [default=$TEST_DIR]"
|
echo " --work-dir=PATH Where to find source/project. [default=$TEST_DIR]"
|
||||||
|
echo " --conf-dir=PATH Path to directory with configuration for vhost"
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
@ -27,6 +29,7 @@ while getopts 'xh-:' optchar; do
|
|||||||
gdbserver) VHOST_GDB="gdbserver 127.0.0.1:12345"
|
gdbserver) VHOST_GDB="gdbserver 127.0.0.1:12345"
|
||||||
;;
|
;;
|
||||||
work-dir=*) TEST_DIR="${OPTARG#*=}" ;;
|
work-dir=*) TEST_DIR="${OPTARG#*=}" ;;
|
||||||
|
conf-dir=*) CONF_DIR="${OPTARG#*=}" ;;
|
||||||
*) usage $0 echo "Invalid argument '$OPTARG'" ;;
|
*) usage $0 echo "Invalid argument '$OPTARG'" ;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
@ -44,7 +47,7 @@ fi
|
|||||||
echo "INFO: $0"
|
echo "INFO: $0"
|
||||||
echo
|
echo
|
||||||
|
|
||||||
. $BASE_DIR/common.sh
|
. $COMMON_DIR/common.sh
|
||||||
|
|
||||||
echo "INFO: Testing vhost command line arguments"
|
echo "INFO: Testing vhost command line arguments"
|
||||||
# Printing help will force vhost to exit without error
|
# Printing help will force vhost to exit without error
|
||||||
@ -68,4 +71,4 @@ if ! $VHOST_APP -t vhost_scsi -h; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Starting vhost with valid options
|
# Starting vhost with valid options
|
||||||
spdk_vhost_run
|
spdk_vhost_run $CONF_DIR
|
@ -1,6 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
BASE_DIR=$(readlink -f $(dirname $0))
|
BASE_DIR=$(readlink -f $(dirname $0))
|
||||||
|
[[ -z "$COMMON_DIR" ]] && COMMON_DIR="$(cd $BASE_DIR/../common && pwd)"
|
||||||
[[ -z "$TEST_DIR" ]] && TEST_DIR="$(cd $BASE_DIR/../../../../ && pwd)"
|
[[ -z "$TEST_DIR" ]] && TEST_DIR="$(cd $BASE_DIR/../../../../ && pwd)"
|
||||||
|
|
||||||
function usage()
|
function usage()
|
||||||
@ -32,7 +33,7 @@ while getopts 'xah-:' optchar; do
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
. $BASE_DIR/common.sh
|
. $COMMON_DIR/common.sh
|
||||||
|
|
||||||
if [[ $EUID -ne 0 ]]; then
|
if [[ $EUID -ne 0 ]]; then
|
||||||
echo "Go away user come back as root"
|
echo "Go away user come back as root"
|
@ -1,6 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
BASE_DIR=$(readlink -f $(dirname $0))
|
BASE_DIR=$(readlink -f $(dirname $0))
|
||||||
|
[[ -z "$COMMON_DIR" ]] && COMMON_DIR="$(cd $BASE_DIR/../common && pwd)"
|
||||||
[[ -z "$TEST_DIR" ]] && TEST_DIR="$(cd $BASE_DIR/../../../../ && pwd)"
|
[[ -z "$TEST_DIR" ]] && TEST_DIR="$(cd $BASE_DIR/../../../../ && pwd)"
|
||||||
|
|
||||||
function usage()
|
function usage()
|
||||||
@ -64,7 +65,7 @@ while getopts 'xf:h-:' optchar; do
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
. $BASE_DIR/common.sh
|
. $COMMON_DIR/common.sh
|
||||||
|
|
||||||
[[ -z "$os" ]] && os="$TEST_DIR/debian.qcow2"
|
[[ -z "$os" ]] && os="$TEST_DIR/debian.qcow2"
|
||||||
[[ $test_type =~ "spdk_vhost" ]] && [[ -z "$disk" ]] && disk="$SPDK_VHOST_SCSI_TEST_DIR/usvhost"
|
[[ $test_type =~ "spdk_vhost" ]] && [[ -z "$disk" ]] && disk="$SPDK_VHOST_SCSI_TEST_DIR/usvhost"
|
@ -1,6 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
BASE_DIR=$(readlink -f $(dirname $0))
|
BASE_DIR=$(readlink -f $(dirname $0))
|
||||||
|
[[ -z "$COMMON_DIR" ]] && COMMON_DIR="$(cd $BASE_DIR/../common && pwd)"
|
||||||
[[ -z "$TEST_DIR" ]] && TEST_DIR="$(cd $BASE_DIR/../../../../ && pwd)"
|
[[ -z "$TEST_DIR" ]] && TEST_DIR="$(cd $BASE_DIR/../../../../ && pwd)"
|
||||||
|
|
||||||
function usage()
|
function usage()
|
||||||
@ -35,7 +36,7 @@ while getopts "$optspec" optchar; do
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
. $BASE_DIR/common.sh
|
. $COMMON_DIR/common.sh
|
||||||
|
|
||||||
if $do_kill && [[ $EUID -ne 0 ]]; then
|
if $do_kill && [[ $EUID -ne 0 ]]; then
|
||||||
echo "Go away user come back as root"
|
echo "Go away user come back as root"
|
@ -1,6 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
BASE_DIR=$(readlink -f $(dirname $0))
|
BASE_DIR=$(readlink -f $(dirname $0))
|
||||||
|
[[ -z "$COMMON_DIR" ]] && COMMON_DIR="$(cd $BASE_DIR/../common && pwd)"
|
||||||
[[ -z "$TEST_DIR" ]] && TEST_DIR="$(cd $BASE_DIR/../../../../ && pwd)"
|
[[ -z "$TEST_DIR" ]] && TEST_DIR="$(cd $BASE_DIR/../../../../ && pwd)"
|
||||||
|
|
||||||
function usage()
|
function usage()
|
||||||
@ -32,7 +33,7 @@ while getopts 'xwh-:' optchar; do
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
. $BASE_DIR/common.sh
|
. $COMMON_DIR/common.sh
|
||||||
|
|
||||||
shift $((OPTIND-1))
|
shift $((OPTIND-1))
|
||||||
vm_num="$1"
|
vm_num="$1"
|
@ -1,12 +1,13 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -e
|
set -e
|
||||||
BASE_DIR=$(readlink -f $(dirname $0))
|
BASE_DIR=$(readlink -f $(dirname $0))
|
||||||
|
[[ -z "$COMMON_DIR" ]] && COMMON_DIR="$(cd $BASE_DIR/../common && pwd)"
|
||||||
[[ -z "$TEST_DIR" ]] && TEST_DIR="$(cd $BASE_DIR/../../../../ && pwd)"
|
[[ -z "$TEST_DIR" ]] && TEST_DIR="$(cd $BASE_DIR/../../../../ && pwd)"
|
||||||
|
|
||||||
dry_run=false
|
dry_run=false
|
||||||
no_shutdown=false
|
no_shutdown=false
|
||||||
fio_bin="fio"
|
fio_bin="fio"
|
||||||
fio_jobs="$BASE_DIR/fio_jobs/"
|
fio_jobs="$COMMON_DIR/fio_jobs/"
|
||||||
test_type=spdk_vhost_scsi
|
test_type=spdk_vhost_scsi
|
||||||
reuse_vms=false
|
reuse_vms=false
|
||||||
force_build=false
|
force_build=false
|
||||||
@ -85,7 +86,7 @@ if [[ -d "$fio_jobs" ]]; then
|
|||||||
fio_jobs="$fio_jobs/*.job"
|
fio_jobs="$fio_jobs/*.job"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
. $BASE_DIR/common.sh
|
. $COMMON_DIR/common.sh
|
||||||
|
|
||||||
trap 'error_exit "${FUNCNAME}" "${LINENO}"' ERR
|
trap 'error_exit "${FUNCNAME}" "${LINENO}"' ERR
|
||||||
|
|
||||||
@ -121,7 +122,7 @@ if [[ $test_type =~ "spdk_vhost" ]]; then
|
|||||||
echo ""
|
echo ""
|
||||||
echo "INFO: running SPDK"
|
echo "INFO: running SPDK"
|
||||||
echo ""
|
echo ""
|
||||||
$BASE_DIR/run_vhost.sh $x --work-dir=$TEST_DIR
|
$COMMON_DIR/run_vhost.sh $x --work-dir=$TEST_DIR --conf-dir=$BASE_DIR
|
||||||
echo
|
echo
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -135,7 +136,7 @@ rpc_py+="-s 127.0.0.1 "
|
|||||||
|
|
||||||
for vm_conf in ${vms[@]}; do
|
for vm_conf in ${vms[@]}; do
|
||||||
IFS=',' read -ra conf <<< "$vm_conf"
|
IFS=',' read -ra conf <<< "$vm_conf"
|
||||||
setup_cmd="$BASE_DIR/vm_setup.sh $x --work-dir=$TEST_DIR --test-type=$test_type"
|
setup_cmd="$COMMON_DIR/vm_setup.sh $x --work-dir=$TEST_DIR --test-type=$test_type"
|
||||||
if [[ x"${conf[0]}" == x"" ]] || ! assert_number ${conf[0]}; then
|
if [[ x"${conf[0]}" == x"" ]] || ! assert_number ${conf[0]}; then
|
||||||
echo "ERROR: invalid VM configuration syntax $vm_conf"
|
echo "ERROR: invalid VM configuration syntax $vm_conf"
|
||||||
exit 1;
|
exit 1;
|
||||||
@ -246,7 +247,7 @@ for vm_conf in ${vms[@]}; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
# Run everything
|
# Run everything
|
||||||
$BASE_DIR/vm_run.sh $x --work-dir=$TEST_DIR $used_vms
|
$COMMON_DIR/vm_run.sh $x --work-dir=$TEST_DIR $used_vms
|
||||||
vm_wait_for_boot 600 $used_vms
|
vm_wait_for_boot 600 $used_vms
|
||||||
|
|
||||||
if [[ $test_type == "spdk_vhost_scsi" ]]; then
|
if [[ $test_type == "spdk_vhost_scsi" ]]; then
|
||||||
@ -274,7 +275,7 @@ echo ""
|
|||||||
echo "INFO: Testing..."
|
echo "INFO: Testing..."
|
||||||
|
|
||||||
echo "INFO: Running fio jobs ..."
|
echo "INFO: Running fio jobs ..."
|
||||||
run_fio="python $BASE_DIR/run_fio.py "
|
run_fio="python $COMMON_DIR/run_fio.py "
|
||||||
run_fio+="$fio_bin "
|
run_fio+="$fio_bin "
|
||||||
run_fio+="--job-file="
|
run_fio+="--job-file="
|
||||||
for job in $fio_jobs; do
|
for job in $fio_jobs; do
|
||||||
|
@ -22,7 +22,7 @@ case $param in
|
|||||||
./fiotest/autotest.sh --fio-bin=/home/sys_sgsw/fio_ubuntu \
|
./fiotest/autotest.sh --fio-bin=/home/sys_sgsw/fio_ubuntu \
|
||||||
--vm=0,/home/sys_sgsw/vhost_vm_image.qcow2,Nvme0n1p0 \
|
--vm=0,/home/sys_sgsw/vhost_vm_image.qcow2,Nvme0n1p0 \
|
||||||
--test-type=spdk_vhost_scsi \
|
--test-type=spdk_vhost_scsi \
|
||||||
--fio-jobs=$WORKDIR/fiotest/fio_jobs/default_performance.job \
|
--fio-jobs=$WORKDIR/common/fio_jobs/default_performance.job \
|
||||||
--qemu-src=/home/sys_sgsw/vhost/qemu
|
--qemu-src=/home/sys_sgsw/vhost/qemu
|
||||||
;;
|
;;
|
||||||
-pb|--performance-blk)
|
-pb|--performance-blk)
|
||||||
@ -30,7 +30,7 @@ case $param in
|
|||||||
./fiotest/autotest.sh --fio-bin=/home/sys_sgsw/fio_ubuntu \
|
./fiotest/autotest.sh --fio-bin=/home/sys_sgsw/fio_ubuntu \
|
||||||
--vm=0,/home/sys_sgsw/vhost_vm_image.qcow2,Nvme0n1p0 \
|
--vm=0,/home/sys_sgsw/vhost_vm_image.qcow2,Nvme0n1p0 \
|
||||||
--test-type=spdk_vhost_blk \
|
--test-type=spdk_vhost_blk \
|
||||||
--fio-jobs=$WORKDIR/fiotest/fio_jobs/default_performance.job \
|
--fio-jobs=$WORKDIR/common/fio_jobs/default_performance.job \
|
||||||
--qemu-src=/home/sys_sgsw/vhost/qemu
|
--qemu-src=/home/sys_sgsw/vhost/qemu
|
||||||
;;
|
;;
|
||||||
-i|--integrity)
|
-i|--integrity)
|
||||||
@ -38,7 +38,7 @@ case $param in
|
|||||||
./fiotest/autotest.sh --fio-bin=/home/sys_sgsw/fio_ubuntu \
|
./fiotest/autotest.sh --fio-bin=/home/sys_sgsw/fio_ubuntu \
|
||||||
--vm=0,/home/sys_sgsw/vhost_vm_image.qcow2,Nvme0n1p0:Nvme0n1p1:Nvme0n1p2:Nvme0n1p3 \
|
--vm=0,/home/sys_sgsw/vhost_vm_image.qcow2,Nvme0n1p0:Nvme0n1p1:Nvme0n1p2:Nvme0n1p3 \
|
||||||
--test-type=spdk_vhost_scsi \
|
--test-type=spdk_vhost_scsi \
|
||||||
--fio-jobs=$WORKDIR/fiotest/fio_jobs/default_integrity.job \
|
--fio-jobs=$WORKDIR/common/fio_jobs/default_integrity.job \
|
||||||
--qemu-src=/home/sys_sgsw/vhost/qemu -x
|
--qemu-src=/home/sys_sgsw/vhost/qemu -x
|
||||||
;;
|
;;
|
||||||
-ib|--integrity-blk)
|
-ib|--integrity-blk)
|
||||||
@ -46,7 +46,7 @@ case $param in
|
|||||||
./fiotest/autotest.sh --fio-bin=/home/sys_sgsw/fio_ubuntu \
|
./fiotest/autotest.sh --fio-bin=/home/sys_sgsw/fio_ubuntu \
|
||||||
--vm=0,/home/sys_sgsw/vhost_vm_image.qcow2,Nvme0n1p0:Nvme0n1p1:Nvme0n1p2:Nvme0n1p3 \
|
--vm=0,/home/sys_sgsw/vhost_vm_image.qcow2,Nvme0n1p0:Nvme0n1p1:Nvme0n1p2:Nvme0n1p3 \
|
||||||
--test-type=spdk_vhost_blk \
|
--test-type=spdk_vhost_blk \
|
||||||
--fio-jobs=$WORKDIR/fiotest/fio_jobs/default_integrity.job \
|
--fio-jobs=$WORKDIR/common/fio_jobs/default_integrity.job \
|
||||||
--qemu-src=/home/sys_sgsw/vhost/qemu -x
|
--qemu-src=/home/sys_sgsw/vhost/qemu -x
|
||||||
;;
|
;;
|
||||||
-fs|--fs-integrity-scsi)
|
-fs|--fs-integrity-scsi)
|
||||||
|
Loading…
Reference in New Issue
Block a user