numam-spdk/test/iscsi_tgt/perf/iscsi_initiator.sh
Tomasz Kulasek a44c743417 test/iscsi_tgt: make sure iscsi devices are ready
We have no guaranty that iscsiadm -m session shows all required iscsi
devices at some point of time after login. It may cause that not all
devices are used in further tests (e.g. in fio).

This patch allows to wait for a certain number of sessions after login.

Change-Id: I868cb8f1235dd04d88572bc8518e97de99a2c5e6
Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/458236
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2019-06-27 08:23:08 +00:00

39 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
testdir=$(readlink -f $(dirname $0))
ISCSI_PORT=3260
FIO_PATH=$1
IP_T=$2
set -xe
trap "exit 1" ERR SIGTERM SIGABRT
if [ ! -x $FIO_PATH/fio ]; then
error "Invalid path of fio binary"
fi
function run_spdk_iscsi_fio(){
$FIO_PATH/fio $testdir/perf.job "$@" --output-format=json
}
mkdir -p $testdir/perf_output
iscsi_fio_results="$testdir/perf_output/iscsi_fio.json"
trap "iscsiadm -m node --logout; iscsiadm -m node -o delete; exit 1" ERR SIGTERM SIGABRT
iscsiadm -m discovery -t sendtargets -p $IP_T:$ISCSI_PORT
iscsiadm -m node --login -p $IP_T:$ISCSI_PORT
waitforiscsidevices 1
disks=($(iscsiadm -m session -P 3 | grep "Attached scsi disk" | awk '{print $4}'))
for (( i=0; i < ${#disks[@]}; i++ ))
do
filename+=$(printf /dev/%s: "${disks[i]}")
waitforfile $filename
echo noop > /sys/block/${disks[i]}/queue/scheduler
echo "2" > /sys/block/${disks[i]}/queue/nomerges
echo "1024" > /sys/block/${disks[i]}/queue/nr_requests
done
run_spdk_iscsi_fio --filename=$filename "--output=$iscsi_fio_results"
iscsiadm -m node --logout || true
iscsiadm -m node -o delete || true