xref: /spdk/test/iscsi_tgt/rpc_config/rpc_config.sh (revision 0f59982b6c10cb8b2b5e58f8dc0111185aa011e0)
1#!/usr/bin/env bash
2#  SPDX-License-Identifier: BSD-3-Clause
3#  Copyright (C) 2016 Intel Corporation
4#  All rights reserved.
5#
6testdir=$(readlink -f $(dirname $0))
7rootdir=$(readlink -f $testdir/../../..)
8source $rootdir/test/common/autotest_common.sh
9source $rootdir/test/iscsi_tgt/common.sh
10
11iscsitestinit
12
13MALLOC_BDEV_SIZE=64
14
15rpc_py=$rootdir/scripts/rpc.py
16rpc_config_py="$testdir/rpc_config.py"
17
18timing_enter start_iscsi_tgt
19
20"${ISCSI_APP[@]}" --wait-for-rpc &
21pid=$!
22echo "Process pid: $pid"
23
24trap 'killprocess $pid; exit 1' SIGINT SIGTERM EXIT
25
26waitforlisten $pid
27$rpc_py framework_wait_init &
28rpc_wait_pid=$!
29$rpc_py iscsi_set_options -o 30 -a 16
30
31# RPC framework_wait_init should be blocked, so its process must be existed
32ps $rpc_wait_pid
33
34$rpc_py framework_start_init
35sleep 1
36echo "iscsi_tgt is listening. Running tests..."
37
38# RPC framework_wait_init should be already returned, so its process must be non-existed
39NOT ps $rpc_wait_pid
40
41# RPC framework_wait_init will directly returned after subsystem initialized.
42$rpc_py framework_wait_init &
43rpc_wait_pid=$!
44sleep 1
45NOT ps $rpc_wait_pid
46
47timing_exit start_iscsi_tgt
48
49$rpc_config_py $rpc_py $TARGET_IP $INITIATOR_IP $ISCSI_PORT $NETMASK
50
51$rpc_py bdev_get_bdevs
52
53trap - SIGINT SIGTERM EXIT
54
55iscsicleanup
56killprocess $pid
57
58iscsitestfini
59