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

json/rpc: Tests for nbd subsystem



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


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: default avatarPawel Kaminski <pawelx.kaminski@intel.com>
Reviewed-by: default avatarKarol Latecki <karol.latecki@intel.com>
parent 06192d28
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -96,6 +96,9 @@ if [ $SPDK_TEST_BLOCKDEV -eq 1 ]; then
	run_test test/bdev/blockdev.sh
	if [ $(uname -s) = Linux ]; then
		run_test test/bdev/bdevjson/json_config.sh
		if modprobe -n nbd; then
			run_test test/bdev/nbdjson/json_config.sh
		fi
	fi
fi

+28 −0
Original line number Diff line number Diff line
#!/usr/bin/env bash
set -xe
NBD_JSON_DIR=$(readlink -f $(dirname $0))
. $NBD_JSON_DIR/../../json_config/common.sh
rpc_py="$spdk_rpc_py"
clear_config_py="$spdk_clear_config_py"
trap 'on_error_exit "${FUNCNAME}" "${LINENO}"' ERR

timing_enter nbd_json_config
run_spdk_tgt
load_nvme
modprobe nbd

timing_enter nbd_json_config_create_setup
$rpc_py construct_malloc_bdev 128 512 --name Malloc0
$rpc_py start_nbd_disk Malloc0 /dev/nbd0
$rpc_py start_nbd_disk Nvme0n1 /dev/nbd1
timing_exit nbd_json_config_create_setup

timing_enter nbd_json_config_test
test_json_config
timing_exit nbd_json_config_test

$clear_config_py clear_config
kill_targets
rmmod nbd
timing_exit nbd_json_config
report_test_completion nbd_json_config
+11 −2
Original line number Diff line number Diff line
@@ -130,8 +130,17 @@ def clear_iscsi_subsystem(args, iscsi_config):
            args.client.call(destroy_method, {get_iscsi_name_key(iscsi): get_iscsi_name(iscsi)})


def clear_nbd_subsystem(args, scsi_config):
    pass
def get_nbd_destroy_method(nbd):
    destroy_method_map = {'start_nbd_disk': "stop_nbd_disk"
                          }
    return destroy_method_map[nbd['method']]


def clear_nbd_subsystem(args, nbd_config):
    for nbd in nbd_config:
        destroy_method = get_nbd_destroy_method(nbd)
        if destroy_method:
            args.client.call(destroy_method, {'nbd_device': nbd['params']['nbd_device']})


def clear_net_framework_subsystem(args, net_framework_config):