3 testdir
=$
(readlink
-f $
(dirname $0))
4 rootdir
=$
(readlink
-f $testdir/..
/..
/..
)
5 source $rootdir/test
/common
/autotest_common.sh
6 source $rootdir/test
/iscsi_tgt
/common.sh
8 # $1 = "iso" - triggers isolation mode (setting up required environment).
9 # $2 = test type posix or vpp. defaults to posix.
12 rpc_py
="$rootdir/scripts/rpc.py"
13 fio_py
="$rootdir/scripts/fio.py"
17 # Remove lvol bdevs and stores.
18 function remove_backends
() {
19 echo "INFO: Removing lvol bdevs"
20 for i
in $
(seq 1 $CONNECTION_NUMBER); do
22 $rpc_py destroy_lvol_bdev
$lun
23 echo -e "\tINFO: lvol bdev $lun removed"
27 echo "INFO: Removing lvol stores"
28 $rpc_py destroy_lvol_store
-l lvs0
29 echo "INFO: lvol store lvs0 removed"
31 echo "INFO: Removing NVMe"
32 $rpc_py delete_nvme_controller Nvme0
38 timing_enter multiconnection
40 timing_enter start_iscsi_tgt
41 $ISCSI_APP --wait-for-rpc &
43 echo "iSCSI target launched. pid: $iscsipid"
44 trap "remove_backends; iscsicleanup; killprocess $iscsipid; iscsitestfini $1 $2; exit 1" SIGINT SIGTERM EXIT
46 waitforlisten
$iscsipid
47 $rpc_py set_iscsi_options
-o 30 -a 128
48 $rpc_py start_subsystem_init
49 $rootdir/scripts
/gen_nvme.sh
--json |
$rpc_py load_subsystem_config
50 timing_exit start_iscsi_tgt
52 $rpc_py add_portal_group
$PORTAL_TAG $TARGET_IP:$ISCSI_PORT
53 $rpc_py add_initiator_group
$INITIATOR_TAG $INITIATOR_NAME $NETMASK
55 echo "Creating an iSCSI target node."
56 ls_guid
=$
($rpc_py construct_lvol_store
"Nvme0n1" "lvs0" -c 1048576)
58 # Assign even size for each lvol_bdev.
59 get_lvs_free_mb
$ls_guid
60 lvol_bdev_size
=$
(($free_mb / $CONNECTION_NUMBER))
61 for i
in $
(seq 1 $CONNECTION_NUMBER); do
62 $rpc_py construct_lvol_bdev
-u $ls_guid lbd_
$i $lvol_bdev_size
65 for i
in $
(seq 1 $CONNECTION_NUMBER); do
67 $rpc_py construct_target_node Target
$i Target
${i}_alias
"$lun" $PORTAL_TAG:$INITIATOR_TAG 256 -d
71 echo "Logging into iSCSI target."
72 iscsiadm
-m discovery
-t sendtargets
-p $TARGET_IP:$ISCSI_PORT
73 iscsiadm
-m node
--login -p $TARGET_IP:$ISCSI_PORT
76 $fio_py -p iscsi
-i 131072 -d 64 -t randrw
-r 5
77 $fio_py -p iscsi
-i 262144 -d 16 -t randwrite
-r 10
80 trap - SIGINT SIGTERM EXIT
87 timing_exit multiconnection