]> git.proxmox.com Git - ceph.git/blob - ceph/src/spdk/test/iscsi_tgt/rbd/rbd.sh
import 15.2.0 Octopus source
[ceph.git] / ceph / src / spdk / test / iscsi_tgt / rbd / rbd.sh
1 #!/usr/bin/env bash
2
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
7
8 # $1 = "iso" - triggers isolation mode (setting up required environment).
9 # $2 = test type posix or vpp. defaults to posix.
10 iscsitestinit $1 $2
11
12 if ! hash ceph; then
13 echo "Ceph not detected on this system; skipping RBD tests"
14 exit 0
15 fi
16
17 timing_enter rbd_setup
18 rbd_setup $TARGET_IP $TARGET_NAMESPACE
19 trap "rbd_cleanup; exit 1" SIGINT SIGTERM EXIT
20 timing_exit rbd_setup
21
22 timing_enter rbd
23
24 rpc_py="$rootdir/scripts/rpc.py"
25 fio_py="$rootdir/scripts/fio.py"
26
27 timing_enter start_iscsi_tgt
28
29 $ISCSI_APP -m $ISCSI_TEST_CORE_MASK --wait-for-rpc &
30 pid=$!
31
32 trap "killprocess $pid; rbd_cleanup; iscsitestfini $1 $2; exit 1" SIGINT SIGTERM EXIT
33
34 waitforlisten $pid
35 $rpc_py set_iscsi_options -o 30 -a 16
36 $rpc_py start_subsystem_init
37 echo "iscsi_tgt is listening. Running tests..."
38
39 timing_exit start_iscsi_tgt
40
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)"
44 $rpc_py get_bdevs
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
50 sleep 1
51
52 iscsiadm -m discovery -t sendtargets -p $TARGET_IP:$ISCSI_PORT
53 iscsiadm -m node --login -p $TARGET_IP:$ISCSI_PORT
54
55 trap "iscsicleanup; killprocess $pid; rbd_cleanup; exit 1" SIGINT SIGTERM EXIT
56
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
59
60 rm -f ./local-job0-0-verify.state
61
62 trap - SIGINT SIGTERM EXIT
63
64 iscsicleanup
65 $rpc_py delete_rbd_bdev $rbd_bdev
66 killprocess $pid
67 rbd_cleanup
68
69 iscsitestfini $1 $2
70 report_test_completion "iscsi_rbd"
71 timing_exit rbd