460a2e39 | 12-Apr-2024 |
Jim Harris <jim.harris@samsung.com> |
lib/init: do not fail if missing RPC's subsystem in JSON config doesn't exist in app
This allows us to run configs generated from spdk_tgt in less featured apps like bdevperf. It is fine to just ign
lib/init: do not fail if missing RPC's subsystem in JSON config doesn't exist in app
This allows us to run configs generated from spdk_tgt in less featured apps like bdevperf. It is fine to just ignore these sections of the JSON config file - if the associated subsystem isn't linked into the application, it wouldn't be used anyways so we can just ignore those parts of the config file. That is a lot different than if the subsystem does exist, and one of its RPCs fails.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: Ie9fe4b3471488aa1534844ad73a0932c81110760 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22780 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Community-CI: Mellanox Build Bot
show more ...
|
5dc80812 | 12-Apr-2024 |
Jim Harris <jim.harris@samsung.com> |
init: add spdk_subsystem_exists()
We can use this to determine if any given subsystem has been linked into the application.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: Ib2af6f0b54
init: add spdk_subsystem_exists()
We can use this to determine if any given subsystem has been linked into the application.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: Ib2af6f0b5480091476c44e85404320ada213e251 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22779 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
show more ...
|
9c9f7ddb | 26-Mar-2024 |
Krzysztof Karas <krzysztof.karas@intel.com> |
lib/event: make SPDK app exit upon RPC server launch failure
Whenever an application cannot start a server, it will print an error, but not exit upon detecting that condition, so we implicitly disab
lib/event: make SPDK app exit upon RPC server launch failure
Whenever an application cannot start a server, it will print an error, but not exit upon detecting that condition, so we implicitly disable the server by just ignoring its inability to launch.
We should not allow RPC servers to fail their initialization while allowing SPDK app to continue working. Instead, we should exit the app, whenever sever failed to start on a valid RPC address.
Change-Id: I10a779c71ed5101d12d69383d646f44bad6d9565 Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22153 Reviewed-by: Jim Harris <jim.harris@samsung.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Community-CI: Mellanox Build Bot
show more ...
|
874550d7 | 12-Apr-2024 |
Jim Harris <jim.harris@samsung.com> |
lib/init: do not fail on missing RPC when stop_on_error is not set
SPDK apps support --json-ignore-init-errors option, to allow continuing past RPCs that might fail.
But this was only working for R
lib/init: do not fail on missing RPC when stop_on_error is not set
SPDK apps support --json-ignore-init-errors option, to allow continuing past RPCs that might fail.
But this was only working for RPCs that actually exist, and then fail execution. It did not work for RPCs that didn't exist at all. For example, if you save a JSON config from a running spdk_tgt, it will include a lot of RPCs (nvmf, iscsi) that don't exist in an app like bdevperf.
So fix up app_json_config_load_subsystem_config_entry() so that it just continues to the next RPC if it finds an RPC call that doesn't exist.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: I60e6b55c7eda088725bf7486d3f67eeb5ddc3538 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22776 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Community-CI: Mellanox Build Bot
show more ...
|
d40c5443 | 09-Jan-2024 |
Krzysztof Karas <krzysztof.karas@intel.com> |
lib/init: deprecate spdk_subsystem_init_from_json_config
Change-Id: If03fe50ad45a923c129e8113c753fbe5b3a4db82 Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com> Reviewed-on: https://review.s
lib/init: deprecate spdk_subsystem_init_from_json_config
Change-Id: If03fe50ad45a923c129e8113c753fbe5b3a4db82 Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/21322 Reviewed-by: Jim Harris <jim.harris@samsung.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
show more ...
|
9a86498d | 27-Dec-2023 |
Krzysztof Karas <krzysztof.karas@intel.com> |
lib/init: Add new API to load JSON config
Add a new function to carry out loading JSON configuration per rpc state. This API takes raw JSON data and its size to avoid reading the same file multiple
lib/init: Add new API to load JSON config
Add a new function to carry out loading JSON configuration per rpc state. This API takes raw JSON data and its size to avoid reading the same file multiple times inside lib/init, which is problematic in cases where subsystem configuration is piped to SPDK (e.g. program substitution), because reading bytes from such a file object consumes them. The user calling this function will be responsible for managing JSON configuration file.
Change-Id: I6e369b8dba1cb8fe7449142e5028bba841477d2d Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/21194 Community-CI: Mellanox Build Bot Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
9e3241a1 | 28-Dec-2023 |
Krzysztof Karas <krzysztof.karas@intel.com> |
init: add pausing and resuming RPC server polling
Add APIs to pause and resume polling on specified server address. This will be useful in following patches, where one RPC server is launched for use
init: add pausing and resuming RPC server polling
Add APIs to pause and resume polling on specified server address. This will be useful in following patches, where one RPC server is launched for user interaction (e.g. via rpc.py script) and other will start to configure subsystems from JSON config.
Change-Id: I08ce0107a59e50c5c83a49fcd34109584819fd85 Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/21193 Community-CI: Mellanox Build Bot Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com>
show more ...
|
09895428 | 15-Dec-2023 |
Krzysztof Karas <krzysztof.karas@intel.com> |
lib/init: manage multiple RPC servers
RPC library now encapsulates RPC server specific data, so it is possible to run multiple servers at the same time. To utilize that in init poll each server that
lib/init: manage multiple RPC servers
RPC library now encapsulates RPC server specific data, so it is possible to run multiple servers at the same time. To utilize that in init poll each server that was launched through this library and tie registering/unregistering of the poller to the existence of at least one RPC server.
Modifications to existing APIs' behavior: * spdk_rpc_initialize() launches a new server instead of overwriting existing one, * spdk_rpc_finish() stops all existing servers instead of stopping a single, global server instance,
Addition of new API: * spdk_rpc_server_finish() will stop a server listening on a given address (if it exists).
Change-Id: I9c794e31f7ee27eb5607925b6c7a8446387670b7 Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/21080 Reviewed-by: Jim Harris <jim.harris@samsung.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Community-CI: Mellanox Build Bot
show more ...
|
0a672ea9 | 21-Nov-2022 |
Konrad Sztyber <konrad.sztyber@intel.com> |
rpc: print device type in framework_get_pci_devices
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: I2d3825ffcce098909745ba949cdde3eb7f71c703 Reviewed-on: https://review.spdk.io/
rpc: print device type in framework_get_pci_devices
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: I2d3825ffcce098909745ba949cdde3eb7f71c703 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15545 Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Tom Nabarro <tom.nabarro@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|