RPC: rename rpc get_bdevs to bdev_get_bdevs
Signed-off-by: Maciej Wawryk <maciejx.wawryk@intel.com> Change-Id: I899c05963f4dd5f29df0b10fc030c27029c2c246 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/468057 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Pawel Kaminski <pawelx.kaminski@intel.com> Reviewed-by: Paul Luse <paul.e.luse@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
This commit is contained in:
parent
326e68fc32
commit
2c49e910cb
@ -37,10 +37,10 @@ command parameter.
|
|||||||
|
|
||||||
# General Purpose RPCs {#bdev_ug_general_rpcs}
|
# General Purpose RPCs {#bdev_ug_general_rpcs}
|
||||||
|
|
||||||
## get_bdevs {#bdev_ug_get_bdevs}
|
## bdev_get_bdevs {#bdev_ug_get_bdevs}
|
||||||
|
|
||||||
List of currently available block devices including detailed information about
|
List of currently available block devices including detailed information about
|
||||||
them can be get by using `get_bdevs` RPC command. User can add optional
|
them can be get by using `bdev_get_bdevs` RPC command. User can add optional
|
||||||
parameter `name` to get details about specified by that name bdev.
|
parameter `name` to get details about specified by that name bdev.
|
||||||
|
|
||||||
Example response
|
Example response
|
||||||
|
@ -273,7 +273,7 @@ Example response:
|
|||||||
"set_iscsi_options",
|
"set_iscsi_options",
|
||||||
"set_bdev_options",
|
"set_bdev_options",
|
||||||
"set_bdev_qos_limit",
|
"set_bdev_qos_limit",
|
||||||
"get_bdevs",
|
"bdev_get_bdevs",
|
||||||
"bdev_get_iostat",
|
"bdev_get_iostat",
|
||||||
"get_subsystem_config",
|
"get_subsystem_config",
|
||||||
"get_subsystems",
|
"get_subsystems",
|
||||||
@ -565,7 +565,7 @@ Example response:
|
|||||||
}
|
}
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
## get_bdevs {#rpc_get_bdevs}
|
## bdev_get_bdevs {#rpc_bdev_get_bdevs}
|
||||||
|
|
||||||
Get information about block devices (bdevs).
|
Get information about block devices (bdevs).
|
||||||
|
|
||||||
@ -590,7 +590,7 @@ Example request:
|
|||||||
{
|
{
|
||||||
"jsonrpc": "2.0",
|
"jsonrpc": "2.0",
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"method": "get_bdevs",
|
"method": "bdev_get_bdevs",
|
||||||
"params": {
|
"params": {
|
||||||
"name": "Malloc0"
|
"name": "Malloc0"
|
||||||
}
|
}
|
||||||
|
@ -26,14 +26,14 @@ Status 200 with resultant JSON object included on success.
|
|||||||
|
|
||||||
## Client side
|
## Client side
|
||||||
|
|
||||||
Below is a sample python script acting as a client side. It sends `get_bdevs` method with optional `name` parameter and prints JSON object returned from remote_rpc script.
|
Below is a sample python script acting as a client side. It sends `bdev_get_bdevs` method with optional `name` parameter and prints JSON object returned from remote_rpc script.
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
import json
|
import json
|
||||||
import requests
|
import requests
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
payload = {'id':1, 'method': 'get_bdevs', 'params': {'name': 'Malloc0'}}
|
payload = {'id':1, 'method': 'bdev_get_bdevs', 'params': {'name': 'Malloc0'}}
|
||||||
url = 'http://192.168.0.2:8000/'
|
url = 'http://192.168.0.2:8000/'
|
||||||
req = requests.post(url,
|
req = requests.post(url,
|
||||||
data=json.dumps(payload),
|
data=json.dumps(payload),
|
||||||
|
@ -120,7 +120,7 @@ bdev_lvol_create [-h] [-u UUID] [-l LVS_NAME] [-t] [-c CLEAR_METHOD] lvol_name s
|
|||||||
optional arguments:
|
optional arguments:
|
||||||
-h, --help show help
|
-h, --help show help
|
||||||
-c, --clear-method specify data clusters clear method "none", "unmap" (default), "write_zeroes"
|
-c, --clear-method specify data clusters clear method "none", "unmap" (default), "write_zeroes"
|
||||||
get_bdevs [-h] [-b NAME]
|
bdev_get_bdevs [-h] [-b NAME]
|
||||||
User can view created bdevs using this call including those created on top of lvols.
|
User can view created bdevs using this call including those created on top of lvols.
|
||||||
optional arguments:
|
optional arguments:
|
||||||
-h, --help show help
|
-h, --help show help
|
||||||
|
@ -1027,7 +1027,7 @@ vbdev_compress_get_io_channel(void *ctx)
|
|||||||
return spdk_get_io_channel(comp_bdev);
|
return spdk_get_io_channel(comp_bdev);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This is the output for get_bdevs() for this vbdev */
|
/* This is the output for bdev_get_bdevs() for this vbdev */
|
||||||
static int
|
static int
|
||||||
vbdev_compress_dump_info_json(void *ctx, struct spdk_json_write_ctx *w)
|
vbdev_compress_dump_info_json(void *ctx, struct spdk_json_write_ctx *w)
|
||||||
{
|
{
|
||||||
|
@ -1121,7 +1121,7 @@ vbdev_crypto_get_io_channel(void *ctx)
|
|||||||
return spdk_get_io_channel(crypto_bdev);
|
return spdk_get_io_channel(crypto_bdev);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This is the output for get_bdevs() for this vbdev */
|
/* This is the output for bdev_get_bdevs() for this vbdev */
|
||||||
static int
|
static int
|
||||||
vbdev_crypto_dump_info_json(void *ctx, struct spdk_json_write_ctx *w)
|
vbdev_crypto_dump_info_json(void *ctx, struct spdk_json_write_ctx *w)
|
||||||
{
|
{
|
||||||
|
@ -249,15 +249,15 @@ static const struct spdk_json_object_decoder rpc_bdev_ocf_get_bdevs_decoders[] =
|
|||||||
{"name", offsetof(struct rpc_bdev_ocf_get_bdevs, name), spdk_json_decode_string, true},
|
{"name", offsetof(struct rpc_bdev_ocf_get_bdevs, name), spdk_json_decode_string, true},
|
||||||
};
|
};
|
||||||
|
|
||||||
struct get_bdevs_ctx {
|
struct bdev_get_bdevs_ctx {
|
||||||
char *name;
|
char *name;
|
||||||
struct spdk_json_write_ctx *w;
|
struct spdk_json_write_ctx *w;
|
||||||
};
|
};
|
||||||
|
|
||||||
static void
|
static void
|
||||||
get_bdevs_fn(struct vbdev_ocf *vbdev, void *ctx)
|
bdev_get_bdevs_fn(struct vbdev_ocf *vbdev, void *ctx)
|
||||||
{
|
{
|
||||||
struct get_bdevs_ctx *cctx = ctx;
|
struct bdev_get_bdevs_ctx *cctx = ctx;
|
||||||
struct spdk_json_write_ctx *w = cctx->w;
|
struct spdk_json_write_ctx *w = cctx->w;
|
||||||
|
|
||||||
if (cctx->name != NULL &&
|
if (cctx->name != NULL &&
|
||||||
@ -290,7 +290,7 @@ spdk_rpc_bdev_ocf_get_bdevs(struct spdk_jsonrpc_request *request,
|
|||||||
{
|
{
|
||||||
struct spdk_json_write_ctx *w;
|
struct spdk_json_write_ctx *w;
|
||||||
struct rpc_bdev_ocf_get_bdevs req = {NULL};
|
struct rpc_bdev_ocf_get_bdevs req = {NULL};
|
||||||
struct get_bdevs_ctx cctx;
|
struct bdev_get_bdevs_ctx cctx;
|
||||||
|
|
||||||
if (params && spdk_json_decode_object(params, rpc_bdev_ocf_get_bdevs_decoders,
|
if (params && spdk_json_decode_object(params, rpc_bdev_ocf_get_bdevs_decoders,
|
||||||
SPDK_COUNTOF(rpc_bdev_ocf_get_bdevs_decoders),
|
SPDK_COUNTOF(rpc_bdev_ocf_get_bdevs_decoders),
|
||||||
@ -315,7 +315,7 @@ spdk_rpc_bdev_ocf_get_bdevs(struct spdk_jsonrpc_request *request,
|
|||||||
cctx.w = w;
|
cctx.w = w;
|
||||||
|
|
||||||
spdk_json_write_array_begin(w);
|
spdk_json_write_array_begin(w);
|
||||||
vbdev_ocf_foreach(get_bdevs_fn, &cctx);
|
vbdev_ocf_foreach(bdev_get_bdevs_fn, &cctx);
|
||||||
spdk_json_write_array_end(w);
|
spdk_json_write_array_end(w);
|
||||||
spdk_jsonrpc_end_result(request, w);
|
spdk_jsonrpc_end_result(request, w);
|
||||||
|
|
||||||
|
@ -362,7 +362,7 @@ vbdev_passthru_get_io_channel(void *ctx)
|
|||||||
return pt_ch;
|
return pt_ch;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This is the output for get_bdevs() for this vbdev */
|
/* This is the output for bdev_get_bdevs() for this vbdev */
|
||||||
static int
|
static int
|
||||||
vbdev_passthru_dump_info_json(void *ctx, struct spdk_json_write_ctx *w)
|
vbdev_passthru_dump_info_json(void *ctx, struct spdk_json_write_ctx *w)
|
||||||
{
|
{
|
||||||
|
@ -293,35 +293,35 @@ spdk_rpc_dump_bdev_info(struct spdk_json_write_ctx *w,
|
|||||||
spdk_json_write_object_end(w);
|
spdk_json_write_object_end(w);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct rpc_get_bdevs {
|
struct rpc_bdev_get_bdevs {
|
||||||
char *name;
|
char *name;
|
||||||
};
|
};
|
||||||
|
|
||||||
static void
|
static void
|
||||||
free_rpc_get_bdevs(struct rpc_get_bdevs *r)
|
free_rpc_bdev_get_bdevs(struct rpc_bdev_get_bdevs *r)
|
||||||
{
|
{
|
||||||
free(r->name);
|
free(r->name);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct spdk_json_object_decoder rpc_get_bdevs_decoders[] = {
|
static const struct spdk_json_object_decoder rpc_bdev_get_bdevs_decoders[] = {
|
||||||
{"name", offsetof(struct rpc_get_bdevs, name), spdk_json_decode_string, true},
|
{"name", offsetof(struct rpc_bdev_get_bdevs, name), spdk_json_decode_string, true},
|
||||||
};
|
};
|
||||||
|
|
||||||
static void
|
static void
|
||||||
spdk_rpc_get_bdevs(struct spdk_jsonrpc_request *request,
|
spdk_rpc_bdev_get_bdevs(struct spdk_jsonrpc_request *request,
|
||||||
const struct spdk_json_val *params)
|
const struct spdk_json_val *params)
|
||||||
{
|
{
|
||||||
struct rpc_get_bdevs req = {};
|
struct rpc_bdev_get_bdevs req = {};
|
||||||
struct spdk_json_write_ctx *w;
|
struct spdk_json_write_ctx *w;
|
||||||
struct spdk_bdev *bdev = NULL;
|
struct spdk_bdev *bdev = NULL;
|
||||||
|
|
||||||
if (params && spdk_json_decode_object(params, rpc_get_bdevs_decoders,
|
if (params && spdk_json_decode_object(params, rpc_bdev_get_bdevs_decoders,
|
||||||
SPDK_COUNTOF(rpc_get_bdevs_decoders),
|
SPDK_COUNTOF(rpc_bdev_get_bdevs_decoders),
|
||||||
&req)) {
|
&req)) {
|
||||||
SPDK_ERRLOG("spdk_json_decode_object failed\n");
|
SPDK_ERRLOG("spdk_json_decode_object failed\n");
|
||||||
spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INTERNAL_ERROR,
|
spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INTERNAL_ERROR,
|
||||||
"spdk_json_decode_object failed");
|
"spdk_json_decode_object failed");
|
||||||
free_rpc_get_bdevs(&req);
|
free_rpc_bdev_get_bdevs(&req);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -330,12 +330,12 @@ spdk_rpc_get_bdevs(struct spdk_jsonrpc_request *request,
|
|||||||
if (bdev == NULL) {
|
if (bdev == NULL) {
|
||||||
SPDK_ERRLOG("bdev '%s' does not exist\n", req.name);
|
SPDK_ERRLOG("bdev '%s' does not exist\n", req.name);
|
||||||
spdk_jsonrpc_send_error_response(request, -ENODEV, spdk_strerror(ENODEV));
|
spdk_jsonrpc_send_error_response(request, -ENODEV, spdk_strerror(ENODEV));
|
||||||
free_rpc_get_bdevs(&req);
|
free_rpc_bdev_get_bdevs(&req);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
free_rpc_get_bdevs(&req);
|
free_rpc_bdev_get_bdevs(&req);
|
||||||
w = spdk_jsonrpc_begin_result(request);
|
w = spdk_jsonrpc_begin_result(request);
|
||||||
spdk_json_write_array_begin(w);
|
spdk_json_write_array_begin(w);
|
||||||
|
|
||||||
@ -351,7 +351,8 @@ spdk_rpc_get_bdevs(struct spdk_jsonrpc_request *request,
|
|||||||
|
|
||||||
spdk_jsonrpc_end_result(request, w);
|
spdk_jsonrpc_end_result(request, w);
|
||||||
}
|
}
|
||||||
SPDK_RPC_REGISTER("get_bdevs", spdk_rpc_get_bdevs, SPDK_RPC_RUNTIME)
|
SPDK_RPC_REGISTER("bdev_get_bdevs", spdk_rpc_bdev_get_bdevs, SPDK_RPC_RUNTIME)
|
||||||
|
SPDK_RPC_REGISTER_ALIAS_DEPRECATED(bdev_get_bdevs, get_bdevs)
|
||||||
|
|
||||||
struct rpc_set_bdev_qd_sampling_period {
|
struct rpc_set_bdev_qd_sampling_period {
|
||||||
char *name;
|
char *name;
|
||||||
|
@ -480,7 +480,7 @@ class SPDKTarget(Target):
|
|||||||
self.log_print("Adding null block bdev to config via RPC")
|
self.log_print("Adding null block bdev to config via RPC")
|
||||||
rpc.bdev.bdev_null_create(self.client, 102400, 4096, "Nvme0n1")
|
rpc.bdev.bdev_null_create(self.client, 102400, 4096, "Nvme0n1")
|
||||||
self.log_print("SPDK Bdevs configuration:")
|
self.log_print("SPDK Bdevs configuration:")
|
||||||
rpc.client.print_dict(rpc.bdev.get_bdevs(self.client))
|
rpc.client.print_dict(rpc.bdev.bdev_get_bdevs(self.client))
|
||||||
|
|
||||||
def spdk_tgt_add_nvme_conf(self, req_num_disks=None):
|
def spdk_tgt_add_nvme_conf(self, req_num_disks=None):
|
||||||
self.log_print("Adding NVMe bdevs to config via RPC")
|
self.log_print("Adding NVMe bdevs to config via RPC")
|
||||||
@ -499,7 +499,7 @@ class SPDKTarget(Target):
|
|||||||
rpc.bdev.construct_nvme_bdev(self.client, name="Nvme%s" % i, trtype="PCIe", traddr=bdf)
|
rpc.bdev.construct_nvme_bdev(self.client, name="Nvme%s" % i, trtype="PCIe", traddr=bdf)
|
||||||
|
|
||||||
self.log_print("SPDK Bdevs configuration:")
|
self.log_print("SPDK Bdevs configuration:")
|
||||||
rpc.client.print_dict(rpc.bdev.get_bdevs(self.client))
|
rpc.client.print_dict(rpc.bdev.bdev_get_bdevs(self.client))
|
||||||
|
|
||||||
def spdk_tgt_add_subsystem_conf(self, ips=None, req_num_disks=None):
|
def spdk_tgt_add_subsystem_conf(self, ips=None, req_num_disks=None):
|
||||||
self.log_print("Adding subsystems to config")
|
self.log_print("Adding subsystems to config")
|
||||||
|
@ -570,14 +570,14 @@ if __name__ == "__main__":
|
|||||||
p.add_argument('name', help='pass through bdev name')
|
p.add_argument('name', help='pass through bdev name')
|
||||||
p.set_defaults(func=delete_passthru_bdev)
|
p.set_defaults(func=delete_passthru_bdev)
|
||||||
|
|
||||||
def get_bdevs(args):
|
def bdev_get_bdevs(args):
|
||||||
print_dict(rpc.bdev.get_bdevs(args.client,
|
print_dict(rpc.bdev.bdev_get_bdevs(args.client,
|
||||||
name=args.name))
|
name=args.name))
|
||||||
|
|
||||||
p = subparsers.add_parser(
|
p = subparsers.add_parser('bdev_get_bdevs', aliases=['get_bdevs'],
|
||||||
'get_bdevs', help='Display current blockdev list or required blockdev')
|
help='Display current blockdev list or required blockdev')
|
||||||
p.add_argument('-b', '--name', help="Name of the Blockdev. Example: Nvme0n1", required=False)
|
p.add_argument('-b', '--name', help="Name of the Blockdev. Example: Nvme0n1", required=False)
|
||||||
p.set_defaults(func=get_bdevs)
|
p.set_defaults(func=bdev_get_bdevs)
|
||||||
|
|
||||||
def bdev_get_iostat(args):
|
def bdev_get_iostat(args):
|
||||||
print_dict(rpc.bdev.bdev_get_iostat(args.client,
|
print_dict(rpc.bdev.bdev_get_iostat(args.client,
|
||||||
|
@ -703,7 +703,8 @@ def delete_ftl_bdev(client, name):
|
|||||||
return client.call('delete_ftl_bdev', params)
|
return client.call('delete_ftl_bdev', params)
|
||||||
|
|
||||||
|
|
||||||
def get_bdevs(client, name=None):
|
@deprecated_alias('get_bdevs')
|
||||||
|
def bdev_get_bdevs(client, name=None):
|
||||||
"""Get information about block devices.
|
"""Get information about block devices.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
@ -715,7 +716,7 @@ def get_bdevs(client, name=None):
|
|||||||
params = {}
|
params = {}
|
||||||
if name:
|
if name:
|
||||||
params['name'] = name
|
params['name'] = name
|
||||||
return client.call('get_bdevs', params)
|
return client.call('bdev_get_bdevs', params)
|
||||||
|
|
||||||
|
|
||||||
@deprecated_alias('get_bdevs_iostat')
|
@deprecated_alias('get_bdevs_iostat')
|
||||||
|
@ -139,7 +139,7 @@ class UIBdev(UINode):
|
|||||||
|
|
||||||
def refresh(self):
|
def refresh(self):
|
||||||
self._children = set([])
|
self._children = set([])
|
||||||
for bdev in self.get_root().get_bdevs(self.name):
|
for bdev in self.get_root().bdev_get_bdevs(self.name):
|
||||||
UIBdevObj(bdev, self)
|
UIBdevObj(bdev, self)
|
||||||
|
|
||||||
def ui_command_get_bdev_iostat(self, name=None):
|
def ui_command_get_bdev_iostat(self, name=None):
|
||||||
@ -613,7 +613,7 @@ class UIVirtioScsiBdevObj(UIBdevObj):
|
|||||||
|
|
||||||
def refresh(self):
|
def refresh(self):
|
||||||
self._children = set([])
|
self._children = set([])
|
||||||
for bdev in self.get_root().get_bdevs("virtio_scsi_disk"):
|
for bdev in self.get_root().bdev_get_bdevs("virtio_scsi_disk"):
|
||||||
if self.bdev.name in bdev.name:
|
if self.bdev.name in bdev.name:
|
||||||
UIBdevObj(bdev, self)
|
UIBdevObj(bdev, self)
|
||||||
|
|
||||||
|
@ -101,9 +101,9 @@ class UIRoot(UINode):
|
|||||||
def check_init(self):
|
def check_init(self):
|
||||||
return "start_subsystem_init" not in self.rpc_get_methods(current=True)
|
return "start_subsystem_init" not in self.rpc_get_methods(current=True)
|
||||||
|
|
||||||
def get_bdevs(self, bdev_type):
|
def bdev_get_bdevs(self, bdev_type):
|
||||||
if self.is_init:
|
if self.is_init:
|
||||||
self.current_bdevs = rpc.bdev.get_bdevs(self.client)
|
self.current_bdevs = rpc.bdev.bdev_get_bdevs(self.client)
|
||||||
# Following replace needs to be done in order for some of the bdev
|
# Following replace needs to be done in order for some of the bdev
|
||||||
# listings to work: logical volumes, split disk.
|
# listings to work: logical volumes, split disk.
|
||||||
# For example logical volumes: listing in menu is "Logical_Volume"
|
# For example logical volumes: listing in menu is "Logical_Volume"
|
||||||
@ -492,7 +492,7 @@ class Bdev(object):
|
|||||||
def __init__(self, bdev_info):
|
def __init__(self, bdev_info):
|
||||||
"""
|
"""
|
||||||
All class attributes are set based on what information is received
|
All class attributes are set based on what information is received
|
||||||
from get_bdevs RPC call.
|
from bdev_get_bdevs RPC call.
|
||||||
# TODO: Document in docstring parameters which describe bdevs.
|
# TODO: Document in docstring parameters which describe bdevs.
|
||||||
# TODO: Possible improvement: JSON schema might be used here in future
|
# TODO: Possible improvement: JSON schema might be used here in future
|
||||||
"""
|
"""
|
||||||
@ -504,7 +504,7 @@ class LvolStore(object):
|
|||||||
def __init__(self, lvs_info):
|
def __init__(self, lvs_info):
|
||||||
"""
|
"""
|
||||||
All class attributes are set based on what information is received
|
All class attributes are set based on what information is received
|
||||||
from get_bdevs RPC call.
|
from bdev_get_bdevs RPC call.
|
||||||
# TODO: Document in docstring parameters which describe bdevs.
|
# TODO: Document in docstring parameters which describe bdevs.
|
||||||
# TODO: Possible improvement: JSON schema might be used here in future
|
# TODO: Possible improvement: JSON schema might be used here in future
|
||||||
"""
|
"""
|
||||||
|
@ -416,7 +416,7 @@ function waitforbdev() {
|
|||||||
local i
|
local i
|
||||||
|
|
||||||
for ((i=1; i<=20; i++)); do
|
for ((i=1; i<=20; i++)); do
|
||||||
if ! $rpc_py get_bdevs | jq -r '.[] .name' | grep -qw $bdev_name; then
|
if ! $rpc_py bdev_get_bdevs | jq -r '.[] .name' | grep -qw $bdev_name; then
|
||||||
sleep 0.1
|
sleep 0.1
|
||||||
else
|
else
|
||||||
return 0
|
return 0
|
||||||
@ -635,9 +635,9 @@ function discover_bdevs()
|
|||||||
|
|
||||||
# Get all of the bdevs
|
# Get all of the bdevs
|
||||||
if [ -z "$rpc_server" ]; then
|
if [ -z "$rpc_server" ]; then
|
||||||
$rootdir/scripts/rpc.py get_bdevs
|
$rootdir/scripts/rpc.py bdev_get_bdevs
|
||||||
else
|
else
|
||||||
$rootdir/scripts/rpc.py -s "$rpc_server" get_bdevs
|
$rootdir/scripts/rpc.py -s "$rpc_server" bdev_get_bdevs
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Shut down the bdev service
|
# Shut down the bdev service
|
||||||
@ -790,7 +790,7 @@ function get_lvs_free_mb()
|
|||||||
function get_bdev_size()
|
function get_bdev_size()
|
||||||
{
|
{
|
||||||
local bdev_name=$1
|
local bdev_name=$1
|
||||||
local bdev_info=$($rpc_py get_bdevs -b $bdev_name)
|
local bdev_info=$($rpc_py bdev_get_bdevs -b $bdev_name)
|
||||||
local bs=$(jq ".[] .block_size" <<< "$bdev_info")
|
local bs=$(jq ".[] .block_size" <<< "$bdev_info")
|
||||||
local nb=$(jq ".[] .num_blocks" <<< "$bdev_info")
|
local nb=$(jq ".[] .num_blocks" <<< "$bdev_info")
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ waitforlisten $svcpid
|
|||||||
# Create new bdev from json configuration
|
# Create new bdev from json configuration
|
||||||
$rootdir/scripts/gen_ftl.sh -j -a $device -n nvme0 -l 0-1 | $rpc_py load_subsystem_config
|
$rootdir/scripts/gen_ftl.sh -j -a $device -n nvme0 -l 0-1 | $rpc_py load_subsystem_config
|
||||||
|
|
||||||
uuid=$($rpc_py get_bdevs | jq -r '.[0].uuid')
|
uuid=$($rpc_py bdev_get_bdevs | jq -r '.[0].uuid')
|
||||||
|
|
||||||
$rpc_py delete_ftl_bdev -b nvme0
|
$rpc_py delete_ftl_bdev -b nvme0
|
||||||
|
|
||||||
|
@ -90,7 +90,7 @@ sleep 1
|
|||||||
timing_exit run_iscsi_app
|
timing_exit run_iscsi_app
|
||||||
|
|
||||||
timing_enter iscsi_config
|
timing_enter iscsi_config
|
||||||
bdevs=($($rpc_py get_bdevs | jq -r '.[].name'))
|
bdevs=($($rpc_py bdev_get_bdevs | jq -r '.[].name'))
|
||||||
if [ $DISKNO == "ALL" ] || [ $DISKNO == "all" ]; then
|
if [ $DISKNO == "ALL" ] || [ $DISKNO == "all" ]; then
|
||||||
DISKNO=${#bdevs[@]}
|
DISKNO=${#bdevs[@]}
|
||||||
elif [ $DISKNO -gt ${#bdevs[@]} ] || [ ! $DISKNO =~ ^[0-9]+$ ]; then
|
elif [ $DISKNO -gt ${#bdevs[@]} ] || [ ! $DISKNO =~ ^[0-9]+$ ]; then
|
||||||
|
@ -41,7 +41,7 @@ timing_exit start_iscsi_tgt
|
|||||||
$rpc_py iscsi_create_portal_group $PORTAL_TAG $TARGET_IP:$ISCSI_PORT
|
$rpc_py iscsi_create_portal_group $PORTAL_TAG $TARGET_IP:$ISCSI_PORT
|
||||||
$rpc_py add_initiator_group $INITIATOR_TAG $INITIATOR_NAME $NETMASK
|
$rpc_py add_initiator_group $INITIATOR_TAG $INITIATOR_NAME $NETMASK
|
||||||
rbd_bdev="$($rpc_py bdev_rbd_create $RBD_POOL $RBD_NAME 4096)"
|
rbd_bdev="$($rpc_py bdev_rbd_create $RBD_POOL $RBD_NAME 4096)"
|
||||||
$rpc_py get_bdevs
|
$rpc_py bdev_get_bdevs
|
||||||
# "Ceph0:0" ==> use Ceph0 blockdev for LUN0
|
# "Ceph0:0" ==> use Ceph0 blockdev for LUN0
|
||||||
# "1:2" ==> map PortalGroup1 to InitiatorGroup2
|
# "1:2" ==> map PortalGroup1 to InitiatorGroup2
|
||||||
# "64" ==> iSCSI queue depth 64
|
# "64" ==> iSCSI queue depth 64
|
||||||
|
@ -55,7 +55,7 @@ timing_exit start_iscsi_tgt
|
|||||||
|
|
||||||
$rpc_config_py $rpc_py $TARGET_IP $INITIATOR_IP $ISCSI_PORT $NETMASK $TARGET_NAMESPACE $TEST_TYPE
|
$rpc_config_py $rpc_py $TARGET_IP $INITIATOR_IP $ISCSI_PORT $NETMASK $TARGET_NAMESPACE $TEST_TYPE
|
||||||
|
|
||||||
$rpc_py get_bdevs
|
$rpc_py bdev_get_bdevs
|
||||||
|
|
||||||
trap - SIGINT SIGTERM EXIT
|
trap - SIGINT SIGTERM EXIT
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ def get_bdev_delete_method(bdev):
|
|||||||
|
|
||||||
|
|
||||||
def clear_bdev_subsystem(args, bdev_config):
|
def clear_bdev_subsystem(args, bdev_config):
|
||||||
rpc_bdevs = args.client.call("get_bdevs")
|
rpc_bdevs = args.client.call("bdev_get_bdevs")
|
||||||
for bdev in bdev_config:
|
for bdev in bdev_config:
|
||||||
bdev_name_key = get_bdev_name_key(bdev)
|
bdev_name_key = get_bdev_name_key(bdev)
|
||||||
bdev_name = get_bdev_name(bdev)
|
bdev_name = get_bdev_name(bdev)
|
||||||
|
@ -87,7 +87,7 @@ sort
|
|||||||
check_empty()
|
check_empty()
|
||||||
elif args.method == "sort":
|
elif args.method == "sort":
|
||||||
""" Wrap input into JSON object so any input is possible here
|
""" Wrap input into JSON object so any input is possible here
|
||||||
like output from get_bdevs RPC method"""
|
like output from bdev_get_bdevs RPC method"""
|
||||||
o = json.loads('{ "the_object": ' + sys.stdin.read() + ' }')
|
o = json.loads('{ "the_object": ' + sys.stdin.read() + ' }')
|
||||||
print(json.dumps(sort_json_object(o)['the_object'], indent=2))
|
print(json.dumps(sort_json_object(o)['the_object'], indent=2))
|
||||||
else:
|
else:
|
||||||
|
@ -29,9 +29,9 @@ class Commands_Rpc(object):
|
|||||||
def __init__(self, rpc_py):
|
def __init__(self, rpc_py):
|
||||||
self.rpc = Spdk_Rpc(rpc_py)
|
self.rpc = Spdk_Rpc(rpc_py)
|
||||||
|
|
||||||
def check_get_bdevs_methods(self, uuid_bdev, bdev_size_mb, bdev_alias=""):
|
def check_bdev_get_bdevs_methods(self, uuid_bdev, bdev_size_mb, bdev_alias=""):
|
||||||
print("INFO: Check RPC COMMAND get_bdevs")
|
print("INFO: Check RPC COMMAND bdev_get_bdevs")
|
||||||
output = self.rpc.get_bdevs()[0]
|
output = self.rpc.bdev_get_bdevs()[0]
|
||||||
json_value = json.loads(output)
|
json_value = json.loads(output)
|
||||||
for i in range(len(json_value)):
|
for i in range(len(json_value)):
|
||||||
uuid_json = json_value[i]['name']
|
uuid_json = json_value[i]['name']
|
||||||
@ -51,13 +51,13 @@ class Commands_Rpc(object):
|
|||||||
num_blocks = json_value[i]['num_blocks']
|
num_blocks = json_value[i]['num_blocks']
|
||||||
block_size = json_value[i]['block_size']
|
block_size = json_value[i]['block_size']
|
||||||
if num_blocks * block_size == bdev_size_mb * 1024 * 1024:
|
if num_blocks * block_size == bdev_size_mb * 1024 * 1024:
|
||||||
print("Info: Response get_bdevs command is "
|
print("Info: Response bdev_get_bdevs command is "
|
||||||
"correct. Params: uuid_bdevs: {uuid}, bdev_size "
|
"correct. Params: uuid_bdevs: {uuid}, bdev_size "
|
||||||
"{size}".format(uuid=uuid_bdev,
|
"{size}".format(uuid=uuid_bdev,
|
||||||
size=bdev_size_mb))
|
size=bdev_size_mb))
|
||||||
return 0
|
return 0
|
||||||
print("INFO: UUID:{uuid} or bdev_size:{bdev_size_mb} not found in "
|
print("INFO: UUID:{uuid} or bdev_size:{bdev_size_mb} not found in "
|
||||||
"RPC COMMAND get_bdevs: "
|
"RPC COMMAND bdev_get_bdevs: "
|
||||||
"{json_value}".format(uuid=uuid_bdev, bdev_size_mb=bdev_size_mb,
|
"{json_value}".format(uuid=uuid_bdev, bdev_size_mb=bdev_size_mb,
|
||||||
json_value=json_value))
|
json_value=json_value))
|
||||||
return 1
|
return 1
|
||||||
@ -188,17 +188,17 @@ class Commands_Rpc(object):
|
|||||||
return output
|
return output
|
||||||
|
|
||||||
def get_lvol_bdevs(self):
|
def get_lvol_bdevs(self):
|
||||||
print("INFO: RPC COMMAND get_bdevs; lvol bdevs only")
|
print("INFO: RPC COMMAND bdev_get_bdevs; lvol bdevs only")
|
||||||
output = []
|
output = []
|
||||||
rpc_output = json.loads(self.rpc.get_bdevs()[0])
|
rpc_output = json.loads(self.rpc.bdev_get_bdevs()[0])
|
||||||
for bdev in rpc_output:
|
for bdev in rpc_output:
|
||||||
if bdev["product_name"] == "Logical Volume":
|
if bdev["product_name"] == "Logical Volume":
|
||||||
output.append(bdev)
|
output.append(bdev)
|
||||||
return output
|
return output
|
||||||
|
|
||||||
def get_lvol_bdev_with_name(self, name):
|
def get_lvol_bdev_with_name(self, name):
|
||||||
print("INFO: RPC COMMAND get_bdevs; lvol bdevs only")
|
print("INFO: RPC COMMAND bdev_get_bdevs; lvol bdevs only")
|
||||||
rpc_output = json.loads(self.rpc.get_bdevs("-b", name)[0])
|
rpc_output = json.loads(self.rpc.bdev_get_bdevs("-b", name)[0])
|
||||||
if len(rpc_output) > 0:
|
if len(rpc_output) > 0:
|
||||||
return rpc_output[0]
|
return rpc_output[0]
|
||||||
|
|
||||||
|
@ -367,9 +367,9 @@ class TestCases(object):
|
|||||||
uuid_bdev = self.c.bdev_lvol_create(uuid_store,
|
uuid_bdev = self.c.bdev_lvol_create(uuid_store,
|
||||||
self.lbd_name,
|
self.lbd_name,
|
||||||
lvs_size)
|
lvs_size)
|
||||||
# Check correct uuid values in response get_bdevs command
|
# Check correct uuid values in response bdev_get_bdevs command
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid_bdev,
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid_bdev,
|
||||||
lvs_size)
|
lvs_size)
|
||||||
self.c.bdev_lvol_delete(uuid_bdev)
|
self.c.bdev_lvol_delete(uuid_bdev)
|
||||||
self.c.bdev_lvol_delete_lvstore(uuid_store)
|
self.c.bdev_lvol_delete_lvstore(uuid_store)
|
||||||
self.c.bdev_malloc_delete(base_name)
|
self.c.bdev_malloc_delete(base_name)
|
||||||
@ -412,7 +412,7 @@ class TestCases(object):
|
|||||||
self.lbd_name + str(i),
|
self.lbd_name + str(i),
|
||||||
size)
|
size)
|
||||||
uuid_bdevs.append(uuid_bdev)
|
uuid_bdevs.append(uuid_bdev)
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid_bdev, size)
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid_bdev, size)
|
||||||
|
|
||||||
for uuid_bdev in uuid_bdevs:
|
for uuid_bdev in uuid_bdevs:
|
||||||
self.c.bdev_lvol_delete(uuid_bdev)
|
self.c.bdev_lvol_delete(uuid_bdev)
|
||||||
@ -450,8 +450,8 @@ class TestCases(object):
|
|||||||
self.lbd_name,
|
self.lbd_name,
|
||||||
lvs_size)
|
lvs_size)
|
||||||
# Verify logical volume was correctly created
|
# Verify logical volume was correctly created
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid_bdev,
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid_bdev,
|
||||||
lvs_size)
|
lvs_size)
|
||||||
|
|
||||||
fail_count += self.c.bdev_lvol_delete(uuid_bdev)
|
fail_count += self.c.bdev_lvol_delete(uuid_bdev)
|
||||||
fail_count += self.c.bdev_lvol_delete_lvstore(uuid_store)
|
fail_count += self.c.bdev_lvol_delete_lvstore(uuid_store)
|
||||||
@ -498,8 +498,8 @@ class TestCases(object):
|
|||||||
self.lbd_name,
|
self.lbd_name,
|
||||||
lvs_size)
|
lvs_size)
|
||||||
# Verify two lvol bdevs were correctly created
|
# Verify two lvol bdevs were correctly created
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid_bdev_1, lvs_size)
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid_bdev_1, lvs_size)
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid_bdev_2, lvs_size)
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid_bdev_2, lvs_size)
|
||||||
|
|
||||||
fail_count += self.c.bdev_lvol_delete(uuid_bdev_1)
|
fail_count += self.c.bdev_lvol_delete(uuid_bdev_1)
|
||||||
fail_count += self.c.bdev_lvol_delete(uuid_bdev_2)
|
fail_count += self.c.bdev_lvol_delete(uuid_bdev_2)
|
||||||
@ -557,8 +557,8 @@ class TestCases(object):
|
|||||||
self.lbd_name,
|
self.lbd_name,
|
||||||
lvs_size)
|
lvs_size)
|
||||||
# Verify if lvol bdev was correctly created
|
# Verify if lvol bdev was correctly created
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid_bdev,
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid_bdev,
|
||||||
lvs_size)
|
lvs_size)
|
||||||
# Try construct lvol bdev on the same lvs_uuid as in last step
|
# Try construct lvol bdev on the same lvs_uuid as in last step
|
||||||
# This call should fail as lvol store space is taken by previously
|
# This call should fail as lvol store space is taken by previously
|
||||||
# created bdev
|
# created bdev
|
||||||
@ -600,8 +600,8 @@ class TestCases(object):
|
|||||||
uuid_bdev = self.c.bdev_lvol_create(uuid_store,
|
uuid_bdev = self.c.bdev_lvol_create(uuid_store,
|
||||||
self.lbd_name,
|
self.lbd_name,
|
||||||
size)
|
size)
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid_bdev,
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid_bdev,
|
||||||
size)
|
size)
|
||||||
# Try to create another logical volume on the same lvol store using
|
# Try to create another logical volume on the same lvol store using
|
||||||
# the same friendly name as in previous step
|
# the same friendly name as in previous step
|
||||||
# This step should fail
|
# This step should fail
|
||||||
@ -642,29 +642,29 @@ class TestCases(object):
|
|||||||
# size is equal to one quarter of size malloc bdev
|
# size is equal to one quarter of size malloc bdev
|
||||||
size = self.get_lvs_divided_size(4)
|
size = self.get_lvs_divided_size(4)
|
||||||
uuid_bdev = self.c.bdev_lvol_create(uuid_store, self.lbd_name, size)
|
uuid_bdev = self.c.bdev_lvol_create(uuid_store, self.lbd_name, size)
|
||||||
# Check size of the lvol bdev by rpc command get_bdevs
|
# Check size of the lvol bdev by rpc command bdev_get_bdevs
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid_bdev, size)
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid_bdev, size)
|
||||||
|
|
||||||
# Resize lvol bdev on correct lvs_uuid and
|
# Resize lvol bdev on correct lvs_uuid and
|
||||||
# size is equal to half of size malloc bdev
|
# size is equal to half of size malloc bdev
|
||||||
size = self.get_lvs_divided_size(2)
|
size = self.get_lvs_divided_size(2)
|
||||||
self.c.bdev_lvol_resize(uuid_bdev, size)
|
self.c.bdev_lvol_resize(uuid_bdev, size)
|
||||||
# Check size of the lvol bdev by rpc command get_bdevs
|
# Check size of the lvol bdev by rpc command bdev_get_bdevs
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid_bdev, size)
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid_bdev, size)
|
||||||
|
|
||||||
# Resize lvol bdev on the correct lvs_uuid and
|
# Resize lvol bdev on the correct lvs_uuid and
|
||||||
# size is smaller by 1 cluster
|
# size is smaller by 1 cluster
|
||||||
size = (self.get_lvs_size() - self.get_lvs_cluster_size())
|
size = (self.get_lvs_size() - self.get_lvs_cluster_size())
|
||||||
self.c.bdev_lvol_resize(uuid_bdev, size)
|
self.c.bdev_lvol_resize(uuid_bdev, size)
|
||||||
# Check size of the lvol bdev by rpc command get_bdevs
|
# Check size of the lvol bdev by rpc command bdev_get_bdevs
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid_bdev, size)
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid_bdev, size)
|
||||||
|
|
||||||
# Resize lvol bdev on the correct lvs_uuid and
|
# Resize lvol bdev on the correct lvs_uuid and
|
||||||
# size is equal 0 MiB
|
# size is equal 0 MiB
|
||||||
size = 0
|
size = 0
|
||||||
self.c.bdev_lvol_resize(uuid_bdev, size)
|
self.c.bdev_lvol_resize(uuid_bdev, size)
|
||||||
# Check size of the lvol bdev by rpc command get_bdevs
|
# Check size of the lvol bdev by rpc command bdev_get_bdevs
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid_bdev, size)
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid_bdev, size)
|
||||||
|
|
||||||
self.c.bdev_lvol_delete(uuid_bdev)
|
self.c.bdev_lvol_delete(uuid_bdev)
|
||||||
self.c.bdev_lvol_delete_lvstore(uuid_store)
|
self.c.bdev_lvol_delete_lvstore(uuid_store)
|
||||||
@ -717,8 +717,8 @@ class TestCases(object):
|
|||||||
uuid_bdev = self.c.bdev_lvol_create(uuid_store,
|
uuid_bdev = self.c.bdev_lvol_create(uuid_store,
|
||||||
self.lbd_name,
|
self.lbd_name,
|
||||||
lvs_size)
|
lvs_size)
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid_bdev,
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid_bdev,
|
||||||
lvs_size)
|
lvs_size)
|
||||||
# Try bdev_lvol_resize on correct lvs_uuid and size is
|
# Try bdev_lvol_resize on correct lvs_uuid and size is
|
||||||
# equal to size malloc bdev + 1MiB; this call should fail
|
# equal to size malloc bdev + 1MiB; this call should fail
|
||||||
if self.c.bdev_lvol_resize(uuid_bdev, self.total_size + 1) == 0:
|
if self.c.bdev_lvol_resize(uuid_bdev, self.total_size + 1) == 0:
|
||||||
@ -820,8 +820,8 @@ class TestCases(object):
|
|||||||
uuid_bdev = self.c.bdev_lvol_create(uuid_store,
|
uuid_bdev = self.c.bdev_lvol_create(uuid_store,
|
||||||
self.lbd_name,
|
self.lbd_name,
|
||||||
lvs_size)
|
lvs_size)
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid_bdev,
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid_bdev,
|
||||||
lvs_size)
|
lvs_size)
|
||||||
# Destroy lvol store
|
# Destroy lvol store
|
||||||
if self.c.bdev_lvol_delete_lvstore(uuid_store) != 0:
|
if self.c.bdev_lvol_delete_lvstore(uuid_store) != 0:
|
||||||
fail_count += 1
|
fail_count += 1
|
||||||
@ -863,7 +863,7 @@ class TestCases(object):
|
|||||||
uuid_bdev = self.c.bdev_lvol_create(uuid_store,
|
uuid_bdev = self.c.bdev_lvol_create(uuid_store,
|
||||||
self.lbd_name + str(i),
|
self.lbd_name + str(i),
|
||||||
size)
|
size)
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid_bdev, size)
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid_bdev, size)
|
||||||
|
|
||||||
# Destroy lvol store
|
# Destroy lvol store
|
||||||
self.c.bdev_lvol_delete_lvstore(uuid_store)
|
self.c.bdev_lvol_delete_lvstore(uuid_store)
|
||||||
@ -903,36 +903,36 @@ class TestCases(object):
|
|||||||
self.lbd_name,
|
self.lbd_name,
|
||||||
size)
|
size)
|
||||||
# check size of the lvol bdev
|
# check size of the lvol bdev
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid_bdev, size)
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid_bdev, size)
|
||||||
sz = size + 4
|
sz = size + 4
|
||||||
# Resize_lvol_bdev on correct lvs_uuid and size is
|
# Resize_lvol_bdev on correct lvs_uuid and size is
|
||||||
# equal to one quarter of size malloc bdev plus 4 MB
|
# equal to one quarter of size malloc bdev plus 4 MB
|
||||||
self.c.bdev_lvol_resize(uuid_bdev, sz)
|
self.c.bdev_lvol_resize(uuid_bdev, sz)
|
||||||
# check size of the lvol bdev by command RPC : get_bdevs
|
# check size of the lvol bdev by command RPC : bdev_get_bdevs
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid_bdev, sz)
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid_bdev, sz)
|
||||||
# Resize_lvol_bdev on correct lvs_uuid and size is
|
# Resize_lvol_bdev on correct lvs_uuid and size is
|
||||||
# equal half of size malloc bdev
|
# equal half of size malloc bdev
|
||||||
sz = size * 2
|
sz = size * 2
|
||||||
self.c.bdev_lvol_resize(uuid_bdev, sz)
|
self.c.bdev_lvol_resize(uuid_bdev, sz)
|
||||||
# check size of the lvol bdev by command RPC : get_bdevs
|
# check size of the lvol bdev by command RPC : bdev_get_bdevs
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid_bdev, sz)
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid_bdev, sz)
|
||||||
# Resize_lvol_bdev on correct lvs_uuid and size is
|
# Resize_lvol_bdev on correct lvs_uuid and size is
|
||||||
# equal to three quarters of size malloc bdev
|
# equal to three quarters of size malloc bdev
|
||||||
sz = size * 3
|
sz = size * 3
|
||||||
self.c.bdev_lvol_resize(uuid_bdev, sz)
|
self.c.bdev_lvol_resize(uuid_bdev, sz)
|
||||||
# check size of the lvol bdev by command RPC : get_bdevs
|
# check size of the lvol bdev by command RPC : bdev_get_bdevs
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid_bdev, sz)
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid_bdev, sz)
|
||||||
# Resize_lvol_bdev on correct lvs_uuid and size is
|
# Resize_lvol_bdev on correct lvs_uuid and size is
|
||||||
# equal to size if malloc bdev minus 4 MB
|
# equal to size if malloc bdev minus 4 MB
|
||||||
sz = (size * 4) - 4
|
sz = (size * 4) - 4
|
||||||
self.c.bdev_lvol_resize(uuid_bdev, sz)
|
self.c.bdev_lvol_resize(uuid_bdev, sz)
|
||||||
# check size of the lvol bdev by command RPC : get_bdevs
|
# check size of the lvol bdev by command RPC : bdev_get_bdevs
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid_bdev, sz)
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid_bdev, sz)
|
||||||
# Resize_lvol_bdev on the correct lvs_uuid and size is equal 0 MiB
|
# Resize_lvol_bdev on the correct lvs_uuid and size is equal 0 MiB
|
||||||
sz = 0
|
sz = 0
|
||||||
self.c.bdev_lvol_resize(uuid_bdev, sz)
|
self.c.bdev_lvol_resize(uuid_bdev, sz)
|
||||||
# check size of the lvol bdev by command RPC : get_bdevs
|
# check size of the lvol bdev by command RPC : bdev_get_bdevs
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid_bdev, sz)
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid_bdev, sz)
|
||||||
|
|
||||||
# Destroy lvol store
|
# Destroy lvol store
|
||||||
self.c.bdev_lvol_delete_lvstore(uuid_store)
|
self.c.bdev_lvol_delete_lvstore(uuid_store)
|
||||||
@ -1154,7 +1154,7 @@ class TestCases(object):
|
|||||||
nested_lbd_name = self.lbd_name + "_nested"
|
nested_lbd_name = self.lbd_name + "_nested"
|
||||||
nested_uuid_bdev = self.c.bdev_lvol_create(nested_lvs_uuid,
|
nested_uuid_bdev = self.c.bdev_lvol_create(nested_lvs_uuid,
|
||||||
nested_lbd_name, nested_size)
|
nested_lbd_name, nested_size)
|
||||||
fail_count += self.c.check_get_bdevs_methods(nested_uuid_bdev, nested_size)
|
fail_count += self.c.check_bdev_get_bdevs_methods(nested_uuid_bdev, nested_size)
|
||||||
|
|
||||||
# Try construct another lvol bdev as in previous step; this call should fail
|
# Try construct another lvol bdev as in previous step; this call should fail
|
||||||
# as nested lvol store space is already claimed by lvol bdev
|
# as nested lvol store space is already claimed by lvol bdev
|
||||||
@ -1662,7 +1662,7 @@ class TestCases(object):
|
|||||||
size = self.get_lvs_divided_size(2)
|
size = self.get_lvs_divided_size(2)
|
||||||
uuid_bdev = self.c.bdev_lvol_create(uuid_store,
|
uuid_bdev = self.c.bdev_lvol_create(uuid_store,
|
||||||
self.lbd_name, size, thin=True)
|
self.lbd_name, size, thin=True)
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid_bdev, size)
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid_bdev, size)
|
||||||
# Fill all free space of lvol bdev with data
|
# Fill all free space of lvol bdev with data
|
||||||
nbd_name = "/dev/nbd0"
|
nbd_name = "/dev/nbd0"
|
||||||
fail_count += self.c.start_nbd_disk(uuid_bdev, nbd_name)
|
fail_count += self.c.start_nbd_disk(uuid_bdev, nbd_name)
|
||||||
@ -1882,8 +1882,8 @@ class TestCases(object):
|
|||||||
self.lbd_name + str(i),
|
self.lbd_name + str(i),
|
||||||
size)
|
size)
|
||||||
uuid_bdevs.append(uuid_bdev)
|
uuid_bdevs.append(uuid_bdev)
|
||||||
# Using get_bdevs command verify lvol bdevs were correctly created
|
# Using bdev_get_bdevs command verify lvol bdevs were correctly created
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid_bdev, size)
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid_bdev, size)
|
||||||
|
|
||||||
old_bdevs = sorted(self.c.get_lvol_bdevs(), key=lambda x: x["name"])
|
old_bdevs = sorted(self.c.get_lvol_bdevs(), key=lambda x: x["name"])
|
||||||
old_stores = self.c.bdev_lvol_get_lvstores()
|
old_stores = self.c.bdev_lvol_get_lvstores()
|
||||||
@ -1931,7 +1931,7 @@ class TestCases(object):
|
|||||||
self.lbd_name + str(i),
|
self.lbd_name + str(i),
|
||||||
size)
|
size)
|
||||||
uuid_bdevs.append(uuid_bdev)
|
uuid_bdevs.append(uuid_bdev)
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid_bdev, size)
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid_bdev, size)
|
||||||
|
|
||||||
for uuid_bdev in uuid_bdevs:
|
for uuid_bdev in uuid_bdevs:
|
||||||
self.c.bdev_lvol_delete(uuid_bdev)
|
self.c.bdev_lvol_delete(uuid_bdev)
|
||||||
@ -1954,7 +1954,7 @@ class TestCases(object):
|
|||||||
self.lbd_name + str(i),
|
self.lbd_name + str(i),
|
||||||
size)
|
size)
|
||||||
uuid_bdevs.append(uuid_bdev)
|
uuid_bdevs.append(uuid_bdev)
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid_bdev, size)
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid_bdev, size)
|
||||||
|
|
||||||
# Destroy lvol store
|
# Destroy lvol store
|
||||||
if self.c.bdev_lvol_delete_lvstore(uuid_store) != 0:
|
if self.c.bdev_lvol_delete_lvstore(uuid_store) != 0:
|
||||||
@ -2052,16 +2052,16 @@ class TestCases(object):
|
|||||||
self.lbd_name + str(i) + "_1M",
|
self.lbd_name + str(i) + "_1M",
|
||||||
size_1M)
|
size_1M)
|
||||||
uuid_bdevs.append(uuid_bdev)
|
uuid_bdevs.append(uuid_bdev)
|
||||||
# Using get_bdevs command verify lvol bdevs were correctly created
|
# Using bdev_get_bdevs command verify lvol bdevs were correctly created
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid_bdev, size_1M)
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid_bdev, size_1M)
|
||||||
|
|
||||||
for i in range(5):
|
for i in range(5):
|
||||||
uuid_bdev = self.c.bdev_lvol_create(uuid_store_32M,
|
uuid_bdev = self.c.bdev_lvol_create(uuid_store_32M,
|
||||||
self.lbd_name + str(i) + "_32M",
|
self.lbd_name + str(i) + "_32M",
|
||||||
size_32M)
|
size_32M)
|
||||||
uuid_bdevs.append(uuid_bdev)
|
uuid_bdevs.append(uuid_bdev)
|
||||||
# Using get_bdevs command verify lvol bdevs were correctly created
|
# Using bdev_get_bdevs command verify lvol bdevs were correctly created
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid_bdev, size_32M)
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid_bdev, size_32M)
|
||||||
|
|
||||||
old_bdevs = sorted(self.c.get_lvol_bdevs(), key=lambda x: x["name"])
|
old_bdevs = sorted(self.c.get_lvol_bdevs(), key=lambda x: x["name"])
|
||||||
old_stores = sorted(self.c.bdev_lvol_get_lvstores(), key=lambda x: x["name"])
|
old_stores = sorted(self.c.bdev_lvol_get_lvstores(), key=lambda x: x["name"])
|
||||||
@ -3130,9 +3130,9 @@ class TestCases(object):
|
|||||||
uuid = self.c.bdev_lvol_create(lvs_uuid,
|
uuid = self.c.bdev_lvol_create(lvs_uuid,
|
||||||
name,
|
name,
|
||||||
bdev_size)
|
bdev_size)
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid,
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid,
|
||||||
bdev_size,
|
bdev_size,
|
||||||
alias)
|
alias)
|
||||||
bdev_uuids.append(uuid)
|
bdev_uuids.append(uuid)
|
||||||
|
|
||||||
# Rename lvol store and check if lvol store name and
|
# Rename lvol store and check if lvol store name and
|
||||||
@ -3148,9 +3148,9 @@ class TestCases(object):
|
|||||||
new_lvs_name)
|
new_lvs_name)
|
||||||
|
|
||||||
for uuid, alias in zip(bdev_uuids, bdev_aliases):
|
for uuid, alias in zip(bdev_uuids, bdev_aliases):
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid,
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid,
|
||||||
bdev_size,
|
bdev_size,
|
||||||
alias)
|
alias)
|
||||||
|
|
||||||
# Now try to rename the bdevs using their uuid as "old_name"
|
# Now try to rename the bdevs using their uuid as "old_name"
|
||||||
# Verify that all bdev names were successfully updated
|
# Verify that all bdev names were successfully updated
|
||||||
@ -3159,9 +3159,9 @@ class TestCases(object):
|
|||||||
print(bdev_aliases)
|
print(bdev_aliases)
|
||||||
for uuid, new_name, new_alias in zip(bdev_uuids, bdev_names, bdev_aliases):
|
for uuid, new_name, new_alias in zip(bdev_uuids, bdev_names, bdev_aliases):
|
||||||
fail_count += self.c.bdev_lvol_rename(uuid, new_name)
|
fail_count += self.c.bdev_lvol_rename(uuid, new_name)
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid,
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid,
|
||||||
bdev_size,
|
bdev_size,
|
||||||
new_alias)
|
new_alias)
|
||||||
# Rename lvol bdevs. Use lvols alias name to point which lvol bdev name to change
|
# Rename lvol bdevs. Use lvols alias name to point which lvol bdev name to change
|
||||||
# Verify that all bdev names were successfully updated
|
# Verify that all bdev names were successfully updated
|
||||||
bdev_names = ["lbd_even_newer" + str(i) for i in range(4)]
|
bdev_names = ["lbd_even_newer" + str(i) for i in range(4)]
|
||||||
@ -3169,9 +3169,9 @@ class TestCases(object):
|
|||||||
print(bdev_aliases)
|
print(bdev_aliases)
|
||||||
for uuid, old_alias, new_alias, new_name in zip(bdev_uuids, bdev_aliases, new_bdev_aliases, bdev_names):
|
for uuid, old_alias, new_alias, new_name in zip(bdev_uuids, bdev_aliases, new_bdev_aliases, bdev_names):
|
||||||
fail_count += self.c.bdev_lvol_rename(old_alias, new_name)
|
fail_count += self.c.bdev_lvol_rename(old_alias, new_name)
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid,
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid,
|
||||||
bdev_size,
|
bdev_size,
|
||||||
new_alias)
|
new_alias)
|
||||||
|
|
||||||
# Delete configuration using names after rename operation
|
# Delete configuration using names after rename operation
|
||||||
for bdev in new_bdev_aliases:
|
for bdev in new_bdev_aliases:
|
||||||
@ -3253,17 +3253,17 @@ class TestCases(object):
|
|||||||
uuid = self.c.bdev_lvol_create(lvs_uuid_1,
|
uuid = self.c.bdev_lvol_create(lvs_uuid_1,
|
||||||
name,
|
name,
|
||||||
bdev_size_1)
|
bdev_size_1)
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid,
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid,
|
||||||
bdev_size_1,
|
bdev_size_1,
|
||||||
alias)
|
alias)
|
||||||
bdev_uuids_1.append(uuid)
|
bdev_uuids_1.append(uuid)
|
||||||
for name, alias in zip(bdev_names_2, bdev_aliases_2):
|
for name, alias in zip(bdev_names_2, bdev_aliases_2):
|
||||||
uuid = self.c.bdev_lvol_create(lvs_uuid_2,
|
uuid = self.c.bdev_lvol_create(lvs_uuid_2,
|
||||||
name,
|
name,
|
||||||
bdev_size_2)
|
bdev_size_2)
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid,
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid,
|
||||||
bdev_size_2,
|
bdev_size_2,
|
||||||
alias)
|
alias)
|
||||||
bdev_uuids_2.append(uuid)
|
bdev_uuids_2.append(uuid)
|
||||||
|
|
||||||
# Call bdev_lvol_rename_lvstore on first lvol store and try to change its name to
|
# Call bdev_lvol_rename_lvstore on first lvol store and try to change its name to
|
||||||
@ -3282,14 +3282,14 @@ class TestCases(object):
|
|||||||
lvs_name_2)
|
lvs_name_2)
|
||||||
|
|
||||||
for name, alias, uuid in zip(bdev_names_1, bdev_aliases_1, bdev_uuids_1):
|
for name, alias, uuid in zip(bdev_names_1, bdev_aliases_1, bdev_uuids_1):
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid,
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid,
|
||||||
bdev_size_1,
|
bdev_size_1,
|
||||||
alias)
|
alias)
|
||||||
|
|
||||||
for name, alias, uuid in zip(bdev_names_2, bdev_aliases_2, bdev_uuids_2):
|
for name, alias, uuid in zip(bdev_names_2, bdev_aliases_2, bdev_uuids_2):
|
||||||
fail_count += self.c.check_get_bdevs_methods(uuid,
|
fail_count += self.c.check_bdev_get_bdevs_methods(uuid,
|
||||||
bdev_size_2,
|
bdev_size_2,
|
||||||
alias)
|
alias)
|
||||||
|
|
||||||
# Clean configuration
|
# Clean configuration
|
||||||
for lvol_uuid in bdev_uuids_1 + bdev_uuids_2:
|
for lvol_uuid in bdev_uuids_1 + bdev_uuids_2:
|
||||||
@ -3350,22 +3350,22 @@ class TestCases(object):
|
|||||||
bdev_uuid_1 = self.c.bdev_lvol_create(lvs_uuid,
|
bdev_uuid_1 = self.c.bdev_lvol_create(lvs_uuid,
|
||||||
self.lbd_name + "1",
|
self.lbd_name + "1",
|
||||||
bdev_size)
|
bdev_size)
|
||||||
fail_count += self.c.check_get_bdevs_methods(bdev_uuid_1,
|
fail_count += self.c.check_bdev_get_bdevs_methods(bdev_uuid_1,
|
||||||
bdev_size)
|
bdev_size)
|
||||||
bdev_uuid_2 = self.c.bdev_lvol_create(lvs_uuid,
|
bdev_uuid_2 = self.c.bdev_lvol_create(lvs_uuid,
|
||||||
self.lbd_name + "2",
|
self.lbd_name + "2",
|
||||||
bdev_size)
|
bdev_size)
|
||||||
fail_count += self.c.check_get_bdevs_methods(bdev_uuid_2,
|
fail_count += self.c.check_bdev_get_bdevs_methods(bdev_uuid_2,
|
||||||
bdev_size)
|
bdev_size)
|
||||||
|
|
||||||
# Call bdev_lvol_rename on first lvol bdev and try to change its name to
|
# Call bdev_lvol_rename on first lvol bdev and try to change its name to
|
||||||
# the same name as used by second lvol bdev
|
# the same name as used by second lvol bdev
|
||||||
if self.c.bdev_lvol_rename(self.lbd_name + "1", self.lbd_name + "2") == 0:
|
if self.c.bdev_lvol_rename(self.lbd_name + "1", self.lbd_name + "2") == 0:
|
||||||
fail_count += 1
|
fail_count += 1
|
||||||
# Verify that lvol bdev still have the same names as before
|
# Verify that lvol bdev still have the same names as before
|
||||||
fail_count += self.c.check_get_bdevs_methods(bdev_uuid_1,
|
fail_count += self.c.check_bdev_get_bdevs_methods(bdev_uuid_1,
|
||||||
bdev_size,
|
bdev_size,
|
||||||
"/".join([self.lvs_name, self.lbd_name + "1"]))
|
"/".join([self.lvs_name, self.lbd_name + "1"]))
|
||||||
|
|
||||||
fail_count += self.c.bdev_lvol_delete(bdev_uuid_1)
|
fail_count += self.c.bdev_lvol_delete(bdev_uuid_1)
|
||||||
fail_count += self.c.bdev_lvol_delete(bdev_uuid_2)
|
fail_count += self.c.bdev_lvol_delete(bdev_uuid_2)
|
||||||
@ -3401,6 +3401,6 @@ class TestCases(object):
|
|||||||
|
|
||||||
# Expected result:
|
# Expected result:
|
||||||
# - calls successful, return code = 0
|
# - calls successful, return code = 0
|
||||||
# - get_bdevs: no change
|
# - bdev_get_bdevs: no change
|
||||||
# - no other operation fails
|
# - no other operation fails
|
||||||
return fail_count
|
return fail_count
|
||||||
|
@ -42,7 +42,7 @@ for null_bdev in $null_bdevs; do
|
|||||||
$rpc_py bdev_null_delete $null_bdev
|
$rpc_py bdev_null_delete $null_bdev
|
||||||
done
|
done
|
||||||
|
|
||||||
check_bdevs=$($rpc_py get_bdevs | jq -r '.[].name')
|
check_bdevs=$($rpc_py bdev_get_bdevs | jq -r '.[].name')
|
||||||
if [ -n "$check_bdevs" ]; then
|
if [ -n "$check_bdevs" ]; then
|
||||||
echo $check_bdevs
|
echo $check_bdevs
|
||||||
exit 1
|
exit 1
|
||||||
|
@ -39,7 +39,7 @@ for i in $(seq 1 4); do
|
|||||||
$rpc_py bdev_null_delete Null$i
|
$rpc_py bdev_null_delete Null$i
|
||||||
done
|
done
|
||||||
|
|
||||||
check_bdevs=$($rpc_py get_bdevs | jq -r '.[].name')
|
check_bdevs=$($rpc_py bdev_get_bdevs | jq -r '.[].name')
|
||||||
if [ -n "$check_bdevs" ]; then
|
if [ -n "$check_bdevs" ]; then
|
||||||
echo $check_bdevs
|
echo $check_bdevs
|
||||||
exit 1
|
exit 1
|
||||||
|
@ -32,10 +32,10 @@ rpc_proxy_pid=$!
|
|||||||
timing_exit run_rpc_proxy
|
timing_exit run_rpc_proxy
|
||||||
|
|
||||||
timing_enter configure_spdk
|
timing_enter configure_spdk
|
||||||
$rpc_py get_bdevs
|
$rpc_py bdev_get_bdevs
|
||||||
$rpc_py bdev_lvol_delete_lvstore -l lvs0 || true
|
$rpc_py bdev_lvol_delete_lvstore -l lvs0 || true
|
||||||
$rpc_py bdev_lvol_create_lvstore Nvme0n1 lvs0
|
$rpc_py bdev_lvol_create_lvstore Nvme0n1 lvs0
|
||||||
$rpc_py get_bdevs
|
$rpc_py bdev_get_bdevs
|
||||||
timing_exit configure_spdk
|
timing_exit configure_spdk
|
||||||
|
|
||||||
timing_enter restart_cinder
|
timing_enter restart_cinder
|
||||||
|
@ -466,7 +466,7 @@ function bdev_pmem_create_tc2()
|
|||||||
error "Created pmem bdev w/out valid pool file!"
|
error "Created pmem bdev w/out valid pool file!"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if $rpc_py get_bdevs | jq -r '.[] .name' | grep -qi pmem; then
|
if $rpc_py bdev_get_bdevs | jq -r '.[] .name' | grep -qi pmem; then
|
||||||
error "bdev_pmem_create passed with invalid argument!"
|
error "bdev_pmem_create passed with invalid argument!"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -529,7 +529,7 @@ function bdev_pmem_create_tc5()
|
|||||||
error "Failed to create pmem bdev"
|
error "Failed to create pmem bdev"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! $rpc_py get_bdevs | jq -r '.[] .name' | grep -qi $pmem_bdev_name; then
|
if ! $rpc_py bdev_get_bdevs | jq -r '.[] .name' | grep -qi $pmem_bdev_name; then
|
||||||
error "Pmem bdev not found!"
|
error "Pmem bdev not found!"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -561,7 +561,7 @@ function bdev_pmem_create_tc6()
|
|||||||
error "Failed to create pmem bdev!"
|
error "Failed to create pmem bdev!"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! $rpc_py get_bdevs | jq -r '.[] .name' | grep -qi $pmem_bdev_name; then
|
if ! $rpc_py bdev_get_bdevs | jq -r '.[] .name' | grep -qi $pmem_bdev_name; then
|
||||||
error "Pmem bdev not found!"
|
error "Pmem bdev not found!"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -601,7 +601,7 @@ function delete_bdev_tc1()
|
|||||||
error "Failed to create pmem bdev!"
|
error "Failed to create pmem bdev!"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! $rpc_py get_bdevs | jq -r '.[] .name' | grep -qi $pmem_bdev_name; then
|
if ! $rpc_py bdev_get_bdevs | jq -r '.[] .name' | grep -qi $pmem_bdev_name; then
|
||||||
error "$pmem_bdev_name bdev not found!"
|
error "$pmem_bdev_name bdev not found!"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -609,7 +609,7 @@ function delete_bdev_tc1()
|
|||||||
error "Failed to delete $pmem_bdev_name bdev!"
|
error "Failed to delete $pmem_bdev_name bdev!"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
bdevs_names=$($rpc_py get_bdevs | jq -r '.[] .name')
|
bdevs_names=$($rpc_py bdev_get_bdevs | jq -r '.[] .name')
|
||||||
if echo $bdevs_names | grep -qi $pmem_bdev_name; then
|
if echo $bdevs_names | grep -qi $pmem_bdev_name; then
|
||||||
error "$pmem_bdev_name bdev is not deleted!"
|
error "$pmem_bdev_name bdev is not deleted!"
|
||||||
fi
|
fi
|
||||||
@ -634,7 +634,7 @@ function delete_bdev_tc2()
|
|||||||
error "Failed to create pmem bdev"
|
error "Failed to create pmem bdev"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! $rpc_py get_bdevs | jq -r '.[] .name' | grep -qi $pmem_bdev_name; then
|
if ! $rpc_py bdev_get_bdevs | jq -r '.[] .name' | grep -qi $pmem_bdev_name; then
|
||||||
error "Pmem bdev not found!"
|
error "Pmem bdev not found!"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -70,7 +70,7 @@ $rpc_py construct_split_vbdev HotInNvme0n1 2
|
|||||||
$rpc_py construct_split_vbdev HotInNvme1n1 2
|
$rpc_py construct_split_vbdev HotInNvme1n1 2
|
||||||
$rpc_py construct_split_vbdev HotInNvme2n1 2
|
$rpc_py construct_split_vbdev HotInNvme2n1 2
|
||||||
$rpc_py construct_split_vbdev HotInNvme3n1 2
|
$rpc_py construct_split_vbdev HotInNvme3n1 2
|
||||||
$rpc_py get_bdevs
|
$rpc_py bdev_get_bdevs
|
||||||
|
|
||||||
if [[ $scsi_hot_remove_test == 0 ]] && [[ $blk_hot_remove_test == 0 ]]; then
|
if [[ $scsi_hot_remove_test == 0 ]] && [[ $blk_hot_remove_test == 0 ]]; then
|
||||||
pre_hot_attach_detach_test_case
|
pre_hot_attach_detach_test_case
|
||||||
|
@ -59,7 +59,7 @@ function create_bdev_config()
|
|||||||
{
|
{
|
||||||
local vbdevs
|
local vbdevs
|
||||||
|
|
||||||
if [ -z "$($RPC_PY get_bdevs | jq '.[] | select(.name=="Nvme0n1")')" ]; then
|
if [ -z "$($RPC_PY bdev_get_bdevs | jq '.[] | select(.name=="Nvme0n1")')" ]; then
|
||||||
error "Nvme0n1 bdev not found!"
|
error "Nvme0n1 bdev not found!"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -169,7 +169,7 @@ for (( i=0; i<$max_disks; i++ ));do
|
|||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
bdev_info=$($rpc_py get_bdevs)
|
bdev_info=$($rpc_py bdev_get_bdevs)
|
||||||
notice "Configuration after initial set-up:"
|
notice "Configuration after initial set-up:"
|
||||||
$rpc_py bdev_lvol_get_lvstores
|
$rpc_py bdev_lvol_get_lvstores
|
||||||
echo "$bdev_info"
|
echo "$bdev_info"
|
||||||
@ -278,7 +278,7 @@ fi
|
|||||||
clean_lvol_cfg
|
clean_lvol_cfg
|
||||||
|
|
||||||
$rpc_py bdev_lvol_get_lvstores
|
$rpc_py bdev_lvol_get_lvstores
|
||||||
$rpc_py get_bdevs
|
$rpc_py bdev_get_bdevs
|
||||||
$rpc_py get_vhost_controllers
|
$rpc_py get_vhost_controllers
|
||||||
|
|
||||||
notice "Shutting down SPDK vhost app..."
|
notice "Shutting down SPDK vhost app..."
|
||||||
|
@ -77,7 +77,7 @@ function blk_ro_tc1()
|
|||||||
disk=$disk_name
|
disk=$disk_name
|
||||||
else
|
else
|
||||||
disk_name=${disk%%_*}
|
disk_name=${disk%%_*}
|
||||||
if ! $rpc_py get_bdevs | jq -r '.[] .name' | grep -qi $disk_name$; then
|
if ! $rpc_py bdev_get_bdevs | jq -r '.[] .name' | grep -qi $disk_name$; then
|
||||||
fail "$disk_name bdev not found!"
|
fail "$disk_name bdev not found!"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -66,7 +66,7 @@ timing_exit start_vhost
|
|||||||
|
|
||||||
timing_enter create_lvol
|
timing_enter create_lvol
|
||||||
|
|
||||||
nvme_bdev=$($rpc_py get_bdevs -b Nvme0n1)
|
nvme_bdev=$($rpc_py bdev_get_bdevs -b Nvme0n1)
|
||||||
nvme_bdev_bs=$(jq ".[] .block_size" <<< "$nvme_bdev")
|
nvme_bdev_bs=$(jq ".[] .block_size" <<< "$nvme_bdev")
|
||||||
nvme_bdev_name=$(jq ".[] .name" <<< "$nvme_bdev")
|
nvme_bdev_name=$(jq ".[] .name" <<< "$nvme_bdev")
|
||||||
if [[ $nvme_bdev_bs != 512 ]]; then
|
if [[ $nvme_bdev_bs != 512 ]]; then
|
||||||
|
@ -97,7 +97,7 @@ aio_file="$testdir/aio_disk"
|
|||||||
dd if=/dev/zero of=$aio_file bs=1M count=512
|
dd if=/dev/zero of=$aio_file bs=1M count=512
|
||||||
$rpc_py bdev_aio_create $aio_file Aio0 512
|
$rpc_py bdev_aio_create $aio_file Aio0 512
|
||||||
$rpc_py bdev_malloc_create -b Malloc0 256 512
|
$rpc_py bdev_malloc_create -b Malloc0 256 512
|
||||||
$rpc_py get_bdevs
|
$rpc_py bdev_get_bdevs
|
||||||
|
|
||||||
# Construct vhost controllers
|
# Construct vhost controllers
|
||||||
# Prepare VM setup command
|
# Prepare VM setup command
|
||||||
|
@ -54,7 +54,7 @@ vhost_run 0
|
|||||||
$rpc_py bdev_nvme_set_hotplug -e
|
$rpc_py bdev_nvme_set_hotplug -e
|
||||||
$rpc_py bdev_malloc_create 256 4096 -b Malloc0
|
$rpc_py bdev_malloc_create 256 4096 -b Malloc0
|
||||||
$rpc_py bdev_aio_create $aio_file Aio0 512
|
$rpc_py bdev_aio_create $aio_file Aio0 512
|
||||||
$rpc_py get_bdevs
|
$rpc_py bdev_get_bdevs
|
||||||
$rpc_py construct_vhost_scsi_controller naa.vhost.1
|
$rpc_py construct_vhost_scsi_controller naa.vhost.1
|
||||||
$rpc_py add_vhost_scsi_lun naa.vhost.1 0 Nvme0n1
|
$rpc_py add_vhost_scsi_lun naa.vhost.1 0 Nvme0n1
|
||||||
$rpc_py add_vhost_scsi_lun naa.vhost.1 1 Malloc0
|
$rpc_py add_vhost_scsi_lun naa.vhost.1 1 Malloc0
|
||||||
|
Loading…
Reference in New Issue
Block a user