1#!/usr/bin/env bash 2 3testdir=$(readlink -f $(dirname $0)) 4rootdir=$(readlink -f $testdir/../../..) 5source $rootdir/test/common/autotest_common.sh 6source $rootdir/test/iscsi_tgt/common.sh 7 8iscsitestinit 9 10timing_enter rbd_setup 11rbd_setup $TARGET_IP $TARGET_NAMESPACE 12trap 'rbd_cleanup; exit 1' SIGINT SIGTERM EXIT 13timing_exit rbd_setup 14 15rpc_py="$rootdir/scripts/rpc.py" 16fio_py="$rootdir/scripts/fio-wrapper" 17 18timing_enter start_iscsi_tgt 19 20"${ISCSI_APP[@]}" -m $ISCSI_TEST_CORE_MASK --wait-for-rpc & 21pid=$! 22 23trap 'killprocess $pid; rbd_cleanup; iscsitestfini; exit 1' SIGINT SIGTERM EXIT 24 25waitforlisten $pid 26$rpc_py iscsi_set_options -o 30 -a 16 27$rpc_py framework_start_init 28echo "iscsi_tgt is listening. Running tests..." 29 30timing_exit start_iscsi_tgt 31 32$rpc_py iscsi_create_portal_group $PORTAL_TAG $TARGET_IP:$ISCSI_PORT 33$rpc_py iscsi_create_initiator_group $INITIATOR_TAG $INITIATOR_NAME $NETMASK 34rbd_cluster_name="$($rpc_py bdev_rbd_register_cluster iscsi_rbd_cluster)" 35$rpc_py bdev_rbd_get_clusters_info -b $rbd_cluster_name 36rbd_bdev="$($rpc_py bdev_rbd_create $RBD_POOL $RBD_NAME 4096 -c $rbd_cluster_name)" 37$rpc_py bdev_get_bdevs 38 39$rpc_py bdev_rbd_resize $rbd_bdev 2000 40num_block=$($rpc_py bdev_get_bdevs | grep num_blocks | sed 's/[^[:digit:]]//g') 41# get the bdev size in MiB. 42total_size=$((num_block * 4096 / 1048576)) 43if [ $total_size != 2000 ]; then 44 echo "resize failed." 45 exit 1 46fi 47# "Ceph0:0" ==> use Ceph0 blockdev for LUN0 48# "1:2" ==> map PortalGroup1 to InitiatorGroup2 49# "64" ==> iSCSI queue depth 64 50# "-d" ==> disable CHAP authentication 51$rpc_py iscsi_create_target_node Target3 Target3_alias 'Ceph0:0' $PORTAL_TAG:$INITIATOR_TAG 64 -d 52sleep 1 53 54iscsiadm -m discovery -t sendtargets -p $TARGET_IP:$ISCSI_PORT 55iscsiadm -m node --login -p $TARGET_IP:$ISCSI_PORT 56waitforiscsidevices 1 57 58trap 'iscsicleanup; killprocess $pid; rbd_cleanup; exit 1' SIGINT SIGTERM EXIT 59 60$fio_py -p iscsi -i 4096 -d 1 -t randrw -r 1 -v 61$fio_py -p iscsi -i 131072 -d 32 -t randrw -r 1 -v 62 63rm -f ./local-job0-0-verify.state 64 65trap - SIGINT SIGTERM EXIT 66 67iscsicleanup 68$rpc_py bdev_rbd_delete $rbd_bdev 69$rpc_py bdev_rbd_unregister_cluster $rbd_cluster_name 70killprocess $pid 71rbd_cleanup 72 73iscsitestfini 74