test/json: Tests for iscsi subsystems.
Change-Id: I7053dca9cc6f2ef09566ba2bf8338f7f4c92ebf0 Signed-off-by: Pawel Niedzwiecki <pawelx.niedzwiecki@intel.com> Reviewed-on: https://review.gerrithub.io/416745 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Pawel Kaminski <pawelx.kaminski@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
This commit is contained in:
parent
3181857bc7
commit
767202e3ac
@ -126,6 +126,7 @@ timing_exit lib
|
|||||||
|
|
||||||
if [ $SPDK_TEST_ISCSI -eq 1 ]; then
|
if [ $SPDK_TEST_ISCSI -eq 1 ]; then
|
||||||
run_test ./test/iscsi_tgt/iscsi_tgt.sh posix
|
run_test ./test/iscsi_tgt/iscsi_tgt.sh posix
|
||||||
|
run_test ./test/iscsi_tgt/iscsijson/json_config.sh
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $SPDK_TEST_BLOBFS -eq 1 ]; then
|
if [ $SPDK_TEST_BLOBFS -eq 1 ]; then
|
||||||
|
43
test/iscsi_tgt/iscsijson/json_config.sh
Executable file
43
test/iscsi_tgt/iscsijson/json_config.sh
Executable file
@ -0,0 +1,43 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -xe
|
||||||
|
ISCSI_JSON_DIR=$(readlink -f $(dirname $0))
|
||||||
|
. $ISCSI_JSON_DIR/../../json_config/common.sh
|
||||||
|
. $JSON_DIR/../iscsi_tgt/common.sh
|
||||||
|
base_iscsi_config=$JSON_DIR/base_iscsi_config.json
|
||||||
|
last_iscsi_config=$JSON_DIR/last_iscsi_config.json
|
||||||
|
rpc_py="$spdk_rpc_py"
|
||||||
|
clear_config_py="$spdk_clear_config_py"
|
||||||
|
trap 'on_error_exit "${FUNCNAME}" "${LINENO}"; rm -f $base_iscsi_config $last_iscsi_config' ERR
|
||||||
|
|
||||||
|
timing_enter iscsi_json_config
|
||||||
|
run_spdk_tgt
|
||||||
|
$rpc_py start_subsystem_init
|
||||||
|
|
||||||
|
timing_enter iscsi_json_config_create_setup
|
||||||
|
$rpc_py add_portal_group $PORTAL_TAG 127.0.0.1:$ISCSI_PORT
|
||||||
|
$rpc_py add_initiator_group $INITIATOR_TAG $INITIATOR_NAME $NETMASK
|
||||||
|
$rpc_py construct_malloc_bdev 64 4096 --name Malloc0
|
||||||
|
$rpc_py construct_target_node Target3 Target3_alias 'Malloc0:0' $PORTAL_TAG:$INITIATOR_TAG 64 -d
|
||||||
|
$rpc_py save_config -f $base_iscsi_config
|
||||||
|
timing_exit iscsi_json_config_create_setup
|
||||||
|
|
||||||
|
timing_enter iscsi_json_config_test
|
||||||
|
test_json_config
|
||||||
|
timing_exit iscsi_json_config_test
|
||||||
|
|
||||||
|
timing_enter iscsi_json_config_restart_spdk
|
||||||
|
$clear_config_py clear_config
|
||||||
|
kill_targets
|
||||||
|
run_spdk_tgt
|
||||||
|
$rpc_py load_config -f $base_iscsi_config
|
||||||
|
$rpc_py save_config -f $last_iscsi_config
|
||||||
|
timing_exit iscsi_json_config_restart_spdk
|
||||||
|
|
||||||
|
diff $base_iscsi_config $last_iscsi_config
|
||||||
|
|
||||||
|
$clear_config_py clear_config
|
||||||
|
kill_targets
|
||||||
|
rm -f $base_iscsi_config $last_iscsi_config
|
||||||
|
|
||||||
|
timing_exit iscsi_json_config
|
||||||
|
report_test_completion iscsi_json_config
|
@ -100,12 +100,34 @@ def clear_nvmf_subsystem(args, nvmf_config):
|
|||||||
args.client.call(destroy_method, {'nqn': nvmf['params']['nqn']})
|
args.client.call(destroy_method, {'nqn': nvmf['params']['nqn']})
|
||||||
|
|
||||||
|
|
||||||
def clear_scsi_subsystem(args, scsi_config):
|
def get_iscsi_destroy_method(iscsi):
|
||||||
pass
|
destroy_method_map = {'add_portal_group': "delete_portal_group",
|
||||||
|
'add_initiator_group': "delete_initiator_group",
|
||||||
|
'construct_target_node': "delete_target_node",
|
||||||
|
'set_iscsi_options': None
|
||||||
|
}
|
||||||
|
return destroy_method_map[iscsi['method']]
|
||||||
|
|
||||||
|
|
||||||
|
def get_iscsi_name(iscsi):
|
||||||
|
if 'name' in iscsi['params']:
|
||||||
|
return iscsi['params']['name']
|
||||||
|
else:
|
||||||
|
return iscsi['params']['tag']
|
||||||
|
|
||||||
|
|
||||||
|
def get_iscsi_name_key(iscsi):
|
||||||
|
if iscsi['method'] == 'construct_target_node':
|
||||||
|
return "name"
|
||||||
|
else:
|
||||||
|
return 'tag'
|
||||||
|
|
||||||
|
|
||||||
def clear_iscsi_subsystem(args, iscsi_config):
|
def clear_iscsi_subsystem(args, iscsi_config):
|
||||||
pass
|
for iscsi in iscsi_config:
|
||||||
|
destroy_method = get_iscsi_destroy_method(iscsi)
|
||||||
|
if destroy_method:
|
||||||
|
args.client.call(destroy_method, {get_iscsi_name_key(iscsi): get_iscsi_name(iscsi)})
|
||||||
|
|
||||||
|
|
||||||
def clear_nbd_subsystem(args, scsi_config):
|
def clear_nbd_subsystem(args, scsi_config):
|
||||||
|
Loading…
Reference in New Issue
Block a user