Commit 767202e3 authored by Pawel Niedzwiecki's avatar Pawel Niedzwiecki Committed by Ben Walker
Browse files

test/json: Tests for iscsi subsystems.



Change-Id: I7053dca9cc6f2ef09566ba2bf8338f7f4c92ebf0
Signed-off-by: default avatarPawel Niedzwiecki <pawelx.niedzwiecki@intel.com>
Reviewed-on: https://review.gerrithub.io/416745


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarPawel Kaminski <pawelx.kaminski@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
parent 3181857b
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -126,6 +126,7 @@ timing_exit lib

if [ $SPDK_TEST_ISCSI -eq 1 ]; then
	run_test ./test/iscsi_tgt/iscsi_tgt.sh posix
	run_test ./test/iscsi_tgt/iscsijson/json_config.sh
fi

if [ $SPDK_TEST_BLOBFS -eq 1 ]; then
+43 −0
Original line number Diff line number Diff line
#!/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
+25 −3
Original line number Diff line number Diff line
@@ -100,12 +100,34 @@ def clear_nvmf_subsystem(args, nvmf_config):
            args.client.call(destroy_method, {'nqn': nvmf['params']['nqn']})


def clear_scsi_subsystem(args, scsi_config):
    pass
def get_iscsi_destroy_method(iscsi):
    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):
    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):