+11
−0
Loading
It's now possible to register SMA device managers defined in a module outside of the regular directory. To do that, a global variable called `devices` containing a list of device manager classes needs to be defined in a module that's added to SMA_PLUGINS environment variable. For example: ``` $ cat /path/to/plugins/external_devices/__init__.py import spdk.sma as sma class MyDeviceManager1(sma.DeviceManager): pass class MyDeviceManager2(sma.DeviceManager): pass devices = [MyDeviceManager1, MyDeviceManager2] $ SMA_PLUGINS=external_devices scripts/sma.py ``` Multiple plugins can be specified by separating them with a colon, e.g.: ``` SMA_PLUGINS=plugin1:plugin2 ``` Of course, the location at which these modules reside must be in PYTHONPATH. Signed-off-by:Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: I2bb4cfea5191710f97d66abe3a21e4deacc6338a Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11412 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Tested-by:
SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by:
Jim Harris <james.r.harris@intel.com> Reviewed-by:
Ben Walker <benjamin.walker@intel.com>