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.
13 echo "Ceph not detected on this system; skipping RBD tests"
17 timing_enter rbd_setup
18 rbd_setup
$TARGET_IP $TARGET_NAMESPACE
19 trap "rbd_cleanup; exit 1" SIGINT SIGTERM EXIT
24 rpc_py
="$rootdir/scripts/rpc.py"
25 fio_py
="$rootdir/scripts/fio.py"
27 timing_enter start_iscsi_tgt
29 $ISCSI_APP -m $ISCSI_TEST_CORE_MASK --wait-for-rpc &
32 trap "killprocess $pid; rbd_cleanup; iscsitestfini $1 $2; exit 1" SIGINT SIGTERM EXIT
35 $rpc_py set_iscsi_options
-o 30 -a 16
36 $rpc_py start_subsystem_init
37 echo "iscsi_tgt is listening. Running tests..."
39 timing_exit start_iscsi_tgt
41 $rpc_py add_portal_group
$PORTAL_TAG $TARGET_IP:$ISCSI_PORT
42 $rpc_py add_initiator_group
$INITIATOR_TAG $INITIATOR_NAME $NETMASK
43 rbd_bdev
="$($rpc_py construct_rbd_bdev $RBD_POOL $RBD_NAME 4096)"
45 # "Ceph0:0" ==> use Ceph0 blockdev for LUN0
46 # "1:2" ==> map PortalGroup1 to InitiatorGroup2
47 # "64" ==> iSCSI queue depth 64
48 # "-d" ==> disable CHAP authentication
49 $rpc_py construct_target_node Target3 Target3_alias
'Ceph0:0' $PORTAL_TAG:$INITIATOR_TAG 64 -d
52 iscsiadm
-m discovery
-t sendtargets
-p $TARGET_IP:$ISCSI_PORT
53 iscsiadm
-m node
--login -p $TARGET_IP:$ISCSI_PORT
55 trap "iscsicleanup; killprocess $pid; rbd_cleanup; exit 1" SIGINT SIGTERM EXIT
57 $fio_py -p iscsi
-i 4096 -d 1 -t randrw
-r 1 -v
58 $fio_py -p iscsi
-i 131072 -d 32 -t randrw
-r 1 -v
60 rm -f .
/local-job0-0-verify.state
62 trap - SIGINT SIGTERM EXIT
65 $rpc_py delete_rbd_bdev
$rbd_bdev
70 report_test_completion
"iscsi_rbd"