[SPDK] json conf file syntax
Jonathan Richardson <jonathan.richardson at broadcom.com>
| Newsgroups | dev.linux.lists.spdk |
|---|---|
| Message-ID | <[email protected]> |
Hi,
I converted my conf file using config_converter.py but there is no Nvme
section in the json file output. It also said the Transport section was
invalid so I removed it. When I run nvmf_tgt it says "Unable to listen on
transport RDMA. The transport must be created first." Is this related to
the json parsing? Are there any json examples or docs that describe the
format of the file? Thanks.
root(a)bcm958742k:/usr/share/spdk/scripts# nvmf_tgt -m 0xf -c temp.json -L
all
Warning: printing stderr to console terminal without -q option specified.
Suggest using --silence-noticelog to disable logging to stderr and
monitor syslog, or redirect stderr to a file.
(Delaying for 10 seconds...)
[2021-01-09 01:58:56.026281] Starting SPDK v21.01-pre git sha1 8bbb8192a /
DPDK 20.11.0 initialization...
[2021-01-09 01:58:56.026341] [ DPDK EAL parameters: [2021-01-09
01:58:56.026355] nvmf [2021-01-09 01:58:56.026367] --no-shconf [2021-01-09
01:58:56.026379] -c 0xf [2021-01-09 01:58:56.026391] --log-level=lib.eal:6
[2021-01-09 01:58:56.026403] --log-level=lib.cryptodev:5 [2021-01-09
01:58:56.026416] --log-level=user1:6 [2021-01-09 01:58:56.026429]
--base-virtaddr=0x200000000000 [2021-01-09 01:58:56.026442]
--match-allocations [2021-01-09 01:58:56.026454] --file-prefix=spdk_pid704
[2021-01-09 01:58:56.026466] ]
EAL: No available hugepages reported in hugepages-32768kB
EAL: No available hugepages reported in hugepages-64kB
EAL: No available hugepages reported in hugepages-1048576kB
EAL: No legacy callbacks, legacy socket not created
[2021-01-09 01:58:56.041236] app.c: 543:spdk_app_start: *NOTICE*: Total
cores available: 4
[2021-01-09 01:58:56.149647] thread.c: 318:spdk_thread_create: *DEBUG*:
Allocating new thread (1, app_thread)
[2021-01-09 01:58:56.279129] reactor.c: 699:reactor_run: *NOTICE*: Reactor
started on core 1
[2021-01-09 01:58:56.279264] reactor.c: 435:get_rusage: *INFO*: Reactor 1:
2 voluntary context switches and 0 involuntary context switches in the
last second.
[2021-01-09 01:58:56.279603] thread.c: 318:spdk_thread_create: *DEBUG*:
Allocating new thread (2, reactor_1)
[2021-01-09 01:58:56.279644] reactor.c: 699:reactor_run: *NOTICE*: Reactor
started on core 2
[2021-01-09 01:58:56.279721] reactor.c: 435:get_rusage: *INFO*: Reactor 2:
2 voluntary context switches and 0 involuntary context switches in the
last second.
[2021-01-09 01:58:56.280002] thread.c: 318:spdk_thread_create: *DEBUG*:
Allocating new thread (3, reactor_2)
[2021-01-09 01:58:56.280038] reactor.c: 699:reactor_run: *NOTICE*: Reactor
started on core 3
[2021-01-09 01:58:56.280185] reactor.c: 435:get_rusage: *INFO*: Reactor 3:
1 voluntary context switches and 1 involuntary context switches in the
last second.
[2021-01-09 01:58:56.280400] thread.c: 318:spdk_thread_create: *DEBUG*:
Allocating new thread (4, reactor_3)
[2021-01-09 01:58:56.280426] reactor.c: 699:reactor_run: *NOTICE*: Reactor
started on core 0
[2021-01-09 01:58:56.280730] reactor.c: 435:get_rusage: *INFO*: Reactor 0:
10 voluntary context switches and 6 involuntary context switches in the
last second.
[2021-01-09 01:58:56.280833] json_config.c:
496:app_json_config_load_subsystem: *DEBUG*: Loading subsystem 'accel'
configuration
[2021-01-09 01:58:56.280843] json_config.c:
359:app_json_config_load_subsystem_config_entry: *DEBUG*: Subsystem
'accel': configuration done.
[2021-01-09 01:58:56.280854] json_config.c:
496:app_json_config_load_subsystem: *DEBUG*: Loading subsystem 'interface'
configuration
[2021-01-09 01:58:56.280863] json_config.c:
359:app_json_config_load_subsystem_config_entry: *DEBUG*: Subsystem
'interface': configuration done.
[2021-01-09 01:58:56.280873] json_config.c:
496:app_json_config_load_subsystem: *DEBUG*: Loading subsystem
'net_framework' configuration
[2021-01-09 01:58:56.280881] json_config.c:
359:app_json_config_load_subsystem_config_entry: *DEBUG*: Subsystem
'net_framework': configuration done.
[2021-01-09 01:58:56.280891] json_config.c:
496:app_json_config_load_subsystem: *DEBUG*: Loading subsystem 'bdev'
configuration
[2021-01-09 01:58:56.280907] json_config.c:
383:app_json_config_load_subsystem_config_entry: *DEBUG*: method:
bdev_set_options
[2021-01-09 01:58:56.280916] json_config.c:
392:app_json_config_load_subsystem_config_entry: *DEBUG*: params: {
"bdev_io_pool_size": 65536,
"bdev_io_cache_size": 256
}
[2021-01-09 01:58:56.288750] jsonrpc_client.c: 95:jsonrpc_parse_response:
*DEBUG*: JSON string is :
{"jsonrpc":"2.0","id":0,"result":true}
[2021-01-09 01:58:56.288769] json_config.c:
383:app_json_config_load_subsystem_config_entry: *DEBUG*: method:
bdev_nvme_set_options
[2021-01-09 01:58:56.288779] json_config.c:
392:app_json_config_load_subsystem_config_entry: *DEBUG*: params: {
"retry_count": 4,
"timeout_us": 0,
"nvme_adminq_poll_period_us": 1000000,
"action_on_timeout": "none",
"nvme_ioq_poll_period_us": 0
}
[2021-01-09 01:58:56.296753] jsonrpc_client.c: 95:jsonrpc_parse_response:
*DEBUG*: JSON string is :
{"jsonrpc":"2.0","id":0,"result":true}
[2021-01-09 01:58:56.296769] json_config.c:
376:app_json_config_load_subsystem_config_entry: *DEBUG*: Method
'bdev_nvme_set_hotplug' not allowed -> skipping
[2021-01-09 01:58:56.296780] json_config.c:
359:app_json_config_load_subsystem_config_entry: *DEBUG*: Subsystem
'bdev': configuration done.
[2021-01-09 01:58:56.296791] json_config.c:
496:app_json_config_load_subsystem: *DEBUG*: Loading subsystem 'scsi'
configuration
[2021-01-09 01:58:56.296800] json_config.c:
359:app_json_config_load_subsystem_config_entry: *DEBUG*: Subsystem
'scsi': configuration done.
[2021-01-09 01:58:56.296809] json_config.c:
496:app_json_config_load_subsystem: *DEBUG*: Loading subsystem 'nvmf'
configuration
[2021-01-09 01:58:56.296820] json_config.c:
383:app_json_config_load_subsystem_config_entry: *DEBUG*: method:
nvmf_set_config
[2021-01-09 01:58:56.296829] json_config.c:
392:app_json_config_load_subsystem_config_entry: *DEBUG*: params: {
"acceptor_poll_rate": 10000
}
[2021-01-09 01:58:56.644456] jsonrpc_client.c: 95:jsonrpc_parse_response:
*DEBUG*: JSON string is :
{"jsonrpc":"2.0","id":0,"result":true}
[2021-01-09 01:58:56.644472] json_config.c:
383:app_json_config_load_subsystem_config_entry: *DEBUG*: method:
nvmf_set_max_subsystems
[2021-01-09 01:58:56.644482] json_config.c:
392:app_json_config_load_subsystem_config_entry: *DEBUG*: params: {
"max_subsystems": 1024
}
[2021-01-09 01:58:56.652472] jsonrpc_client.c: 95:jsonrpc_parse_response:
*DEBUG*: JSON string is :
{"jsonrpc":"2.0","id":0,"result":true}
[2021-01-09 01:58:56.652490] json_config.c:
376:app_json_config_load_subsystem_config_entry: *DEBUG*: Method
'nvmf_create_subsystem' not allowed -> skipping
[2021-01-09 01:58:56.652503] json_config.c:
376:app_json_config_load_subsystem_config_entry: *DEBUG*: Method
'nvmf_subsystem_add_listener' not allowed -> skipping
[2021-01-09 01:58:56.652515] json_config.c:
376:app_json_config_load_subsystem_config_entry: *DEBUG*: Method
'nvmf_subsystem_add_ns' not allowed -> skipping
[2021-01-09 01:58:56.652525] json_config.c:
359:app_json_config_load_subsystem_config_entry: *DEBUG*: Subsystem
'nvmf': configuration done.
[2021-01-09 01:58:56.652535] json_config.c:
479:app_json_config_load_subsystem: *DEBUG*: No more entries for current
state, calling 'framework_start_init'
[2021-01-09 01:58:56.652549] accel_engine.c:
692:spdk_accel_engine_initialize: *NOTICE*: Accel engine initialized to
use software engine.
[2021-01-09 01:58:56.652571] thread.c:1376:spdk_io_device_register:
*DEBUG*: Registering io_device sw_accel_engine (0xaaaabaca09c0) on thread
app_thread
[2021-01-09 01:58:56.652581] thread.c:1376:spdk_io_device_register:
*DEBUG*: Registering io_device accel_module (0xaaaabaca09b0) on thread
app_thread
[2021-01-09 01:58:56.652595] bdev_raid.c: 949:raid_bdev_get_ctx_size:
*DEBUG*: raid_bdev_get_ctx_size
[2021-01-09 01:58:56.705891] thread.c:1376:spdk_io_device_register:
*DEBUG*: Registering io_device bdev_mgr (0xaaaabaca0888) on thread
app_thread
[2021-01-09 01:58:56.705935] thread.c:1376:spdk_io_device_register:
*DEBUG*: Registering io_device null_bdev (0xaaaabac9f0b0) on thread
app_thread
[2021-01-09 01:58:56.705946] thread.c:1376:spdk_io_device_register:
*DEBUG*: Registering io_device bdev_nvme_poll_groups (0xaaaabac9f280) on
thread app_thread
[2021-01-09 01:58:56.705956] thread.c:1376:spdk_io_device_register:
*DEBUG*: Registering io_device aio_module (0xaaaabac9ff80) on thread
app_thread
[2021-01-09 01:58:56.705974] thread.c:1376:spdk_io_device_register:
*DEBUG*: Registering io_device nvmf_tgt (0xaaaae428cf50) on thread
app_thread
[2021-01-09 01:58:56.706039] thread.c: 318:spdk_thread_create: *DEBUG*:
Allocating new thread (5, nvmf_tgt_poll_group_0)
[2021-01-09 01:58:56.706089] thread.c: 318:spdk_thread_create: *DEBUG*:
Allocating new thread (6, nvmf_tgt_poll_group_1)
[2021-01-09 01:58:56.706107] thread.c:1543:spdk_get_io_channel: *DEBUG*:
Get io_channel 0xffff6c000fe0 for io_device nvmf_tgt (0xaaaae428cf50) on
thread nvmf_tgt_poll_group_1 refcnt 1
[2021-01-09 01:58:56.706127] thread.c: 318:spdk_thread_create: *DEBUG*:
Allocating new thread (7, nvmf_tgt_poll_group_2)
[2021-01-09 01:58:56.706146] thread.c:1543:spdk_get_io_channel: *DEBUG*:
Get io_channel 0xffff64000fe0 for io_device nvmf_tgt (0xaaaae428cf50) on
thread nvmf_tgt_poll_group_2 refcnt 1
[2021-01-09 01:58:56.706506] thread.c: 318:spdk_thread_create: *DEBUG*:
Allocating new thread (8, nvmf_tgt_poll_group_3)
[2021-01-09 01:58:56.706535] thread.c:1543:spdk_get_io_channel: *DEBUG*:
Get io_channel 0xffff68000fe0 for io_device nvmf_tgt (0xaaaae428cf50) on
thread nvmf_tgt_poll_group_3 refcnt 1
[2021-01-09 01:58:56.706571] thread.c:1543:spdk_get_io_channel: *DEBUG*:
Get io_channel 0xaaaae428f290 for io_device nvmf_tgt (0xaaaae428cf50) on
thread nvmf_tgt_poll_group_0 refcnt 1
[2021-01-09 01:58:56.706635] json_config.c: 440:subsystem_init_done:
*DEBUG*: 'framework_start_init' done - continuing configuration
[2021-01-09 01:58:56.706650] json_config.c:
496:app_json_config_load_subsystem: *DEBUG*: Loading subsystem 'accel'
configuration
[2021-01-09 01:58:56.706659] json_config.c:
359:app_json_config_load_subsystem_config_entry: *DEBUG*: Subsystem
'accel': configuration done.
[2021-01-09 01:58:56.706670] json_config.c:
496:app_json_config_load_subsystem: *DEBUG*: Loading subsystem 'interface'
configuration
[2021-01-09 01:58:56.706679] json_config.c:
359:app_json_config_load_subsystem_config_entry: *DEBUG*: Subsystem
'interface': configuration done.
[2021-01-09 01:58:57.047572] json_config.c:
496:app_json_config_load_subsystem: *DEBUG*: Loading subsystem
'net_framework' configuration
[2021-01-09 01:58:57.047582] json_config.c:
359:app_json_config_load_subsystem_config_entry: *DEBUG*: Subsystem
'net_framework': configuration done.
[2021-01-09 01:58:57.047602] json_config.c:
496:app_json_config_load_subsystem: *DEBUG*: Loading subsystem 'bdev'
configuration
[2021-01-09 01:58:57.047618] json_config.c:
376:app_json_config_load_subsystem_config_entry: *DEBUG*: Method
'bdev_set_options' not allowed -> skipping
[2021-01-09 01:58:57.047633] json_config.c:
383:app_json_config_load_subsystem_config_entry: *DEBUG*: method:
bdev_nvme_set_options
[2021-01-09 01:58:57.047643] json_config.c:
392:app_json_config_load_subsystem_config_entry: *DEBUG*: params: {
"retry_count": 4,
"timeout_us": 0,
"nvme_adminq_poll_period_us": 1000000,
"action_on_timeout": "none",
"nvme_ioq_poll_period_us": 0
}
[2021-01-09 01:58:57.055618] jsonrpc_client.c: 95:jsonrpc_parse_response:
*DEBUG*: JSON string is :
{"jsonrpc":"2.0","id":0,"result":true}
[2021-01-09 01:58:57.055636] json_config.c:
383:app_json_config_load_subsystem_config_entry: *DEBUG*: method:
bdev_nvme_set_hotplug
[2021-01-09 01:58:57.055645] json_config.c:
392:app_json_config_load_subsystem_config_entry: *DEBUG*: params: {
"enable": true,
"period_us": 100000
}
[2021-01-09 01:58:57.063639] jsonrpc_client.c: 95:jsonrpc_parse_response:
*DEBUG*: JSON string is :
{"jsonrpc":"2.0","id":0,"result":true}
[2021-01-09 01:58:57.063652] json_config.c:
359:app_json_config_load_subsystem_config_entry: *DEBUG*: Subsystem
'bdev': configuration done.
[2021-01-09 01:58:57.063664] json_config.c:
496:app_json_config_load_subsystem: *DEBUG*: Loading subsystem 'scsi'
configuration
[2021-01-09 01:58:57.063672] json_config.c:
359:app_json_config_load_subsystem_config_entry: *DEBUG*: Subsystem
'scsi': configuration done.
[2021-01-09 01:58:57.063682] json_config.c:
496:app_json_config_load_subsystem: *DEBUG*: Loading subsystem 'nvmf'
configuration
[2021-01-09 01:58:57.063693] json_config.c:
376:app_json_config_load_subsystem_config_entry: *DEBUG*: Method
'nvmf_set_config' not allowed -> skipping
[2021-01-09 01:58:57.063705] json_config.c:
376:app_json_config_load_subsystem_config_entry: *DEBUG*: Method
'nvmf_set_max_subsystems' not allowed -> skipping
[2021-01-09 01:58:57.063718] json_config.c:
383:app_json_config_load_subsystem_config_entry: *DEBUG*: method:
nvmf_create_subsystem
[2021-01-09 01:58:57.063728] json_config.c:
392:app_json_config_load_subsystem_config_entry: *DEBUG*: params: {
"nqn": "nqn.2016-06.io.spdk:cnode0",
"allow_any_host": true,
"serial_number": "SPDK00000000000001",
"model_number": "SPDK bdev Controller"
}
[2021-01-09 01:58:57.071586] jsonrpc_client.c: 95:jsonrpc_parse_response:
*DEBUG*: JSON string is :
{"jsonrpc":"2.0","id":0,"result":true}
[2021-01-09 01:58:57.071602] json_config.c:
383:app_json_config_load_subsystem_config_entry: *DEBUG*: method:
nvmf_subsystem_add_listener
[2021-01-09 01:58:57.071612] json_config.c:
392:app_json_config_load_subsystem_config_entry: *DEBUG*: params: {
"listen_address": {
"trtype": "RDMA",
"adrfam": "IPv4",
"trsvcid": "1023",
"traddr": "192.168.1.10"
},
"nqn": "nqn.2016-06.io.spdk:cnode0"
}
[2021-01-09 01:58:57.075606] nvmf.c: 613:spdk_nvmf_tgt_listen: *ERROR*:
Unable to listen on transport RDMA. The transport must be created first.
[2021-01-09 01:58:57.079610] jsonrpc_client.c: 95:jsonrpc_parse_response:
*DEBUG*: JSON string is :
{"jsonrpc":"2.0","id":0,"error":{"code":-32602,"message":"Invalid
parameters"}}
[2021-01-09 01:58:57.079627] json_config.c: 219:rpc_client_poller:
*ERROR*: error response:
{
"code": -32602,
"message": "Invalid parameters"
}
[2021-01-09 01:58:57.079734] json_config.c: 135:app_json_config_load_done:
*DEBUG*: Config load finished with rc -22
temp.conf
(application/octet-stream, 1.3 KB)
[Global] # Tracepoint group mask for spdk trace buffers # Default: 0x0 (all tracepoint groups disabled) # Set to 0xFFFFFFFFFFFFFFFF to enable all tracepoint groups. #TpointGroupMask 0x0 # syslog facility LogFacility "local7" # Define NVMf protocol global options [Nvmf] # Set how often the acceptor polls for incoming connections. The acceptor is also # responsible for polling existing connections that have gone idle. 0 means continuously # poll. Units in microseconds. AcceptorPollRate 10000 [Nvme] # NVMe Device Whitelist # Users may specify which NVMe devices to claim by their transport id. # See spdk_nvme_transport_id_parse() in spdk/nvme.h for the correct format. # The second argument is the assigned name, which can be referenced from # other sections in the configuration file. For NVMe devices, a namespace # is automatically appended to each name in the format <YourName>nY, where # Y is the NSID (starts at 1). TransportId "trtype:PCIe traddr:0007:01:00.0" Nvme0 # Enable handling of hotplug (runtime insert and remove) events HotplugEnable Yes HotplugPollRate 1000000 # Multiple subsystems are allowed. # Direct controller [Subsystem0] NQN nqn.2016-06.io.spdk:cnode0 AllowAnyHost Yes Listen RDMA 192.168.1.10:1023 SN SPDK00000000000001 Namespace Nvme0n1
temp.json
(application/json, 3 KB) - not displayed
smime.p7s
(application/pkcs7-signature, 4.1 KB) - not displayed