FreeNAS/freenas bc32349src/middlewared/middlewared/utils/nvmet spdk.py

Remove NULL bdev when BACKUP node
DeltaFile
+4-21src/middlewared/middlewared/utils/nvmet/spdk.py
+4-211 files

FreeNAS/freenas 9647494src/middlewared/middlewared/plugins/nvmet constants.py, src/middlewared/middlewared/utils/nvmet spdk.py render_common.py

Initial HA implementation for SPDK
DeltaFile
+230-64src/middlewared/middlewared/utils/nvmet/spdk.py
+94-0src/middlewared/middlewared/utils/nvmet/render_common.py
+20-56src/middlewared/middlewared/utils/nvmet/kernel.py
+0-6src/middlewared/middlewared/plugins/nvmet/constants.py
+0-0src/middlewared/middlewared/utils/nvmet/__init__.py
+344-1265 files

FreeNAS/freenas 200830asrc/middlewared/middlewared/plugins/nvmet spdk.py

Update nvmet.spdk.nics for HA
DeltaFile
+20-1src/middlewared/middlewared/plugins/nvmet/spdk.py
+20-11 files

FreeNAS/freenas 7e0a346src/middlewared/middlewared/etc_files nvmet_kernel.py, src/middlewared/middlewared/plugins/nvmet kernel.py spdk.py

Refactor some code into utils/nvmet directory
DeltaFile
+735-0src/middlewared/middlewared/utils/nvmet/kernel.py
+0-735src/middlewared/middlewared/plugins/nvmet/kernel.py
+4-478src/middlewared/middlewared/plugins/nvmet/spdk.py
+481-0src/middlewared/middlewared/utils/nvmet/spdk.py
+3-3src/middlewared/middlewared/plugins/nvmet/namespace.py
+1-1src/middlewared/middlewared/etc_files/nvmet_kernel.py
+1,224-1,2172 files not shown
+1,226-1,2198 files

FreeNAS/freenas 679c135src/middlewared/middlewared/plugins/nvmet spdk.py kernel.py

Handle min/max controller id
DeltaFile
+16-2src/middlewared/middlewared/plugins/nvmet/spdk.py
+4-2src/middlewared/middlewared/plugins/nvmet/kernel.py
+3-0src/middlewared/middlewared/plugins/nvmet/constants.py
+23-43 files

FreeNAS/freenas 2c712aesrc/middlewared/middlewared/plugins/nvmet spdk.py

Add SPDK support for nvmet.host_subsys, including CHAP keys
DeltaFile
+145-3src/middlewared/middlewared/plugins/nvmet/spdk.py
+145-31 files

FreeNAS/freenas 00818c7src/middlewared/middlewared/plugins/nvmet global.py

Do not allow SPDK without avx2 in CPU flags
DeltaFile
+16-5src/middlewared/middlewared/plugins/nvmet/global.py
+16-51 files

FreeNAS/freenas 155392bsrc/middlewared/middlewared/plugins/system info.py, src/middlewared/middlewared/utils cpu.py

Add private API system.cpu_flags
DeltaFile
+18-0src/middlewared/middlewared/utils/cpu.py
+8-1src/middlewared/middlewared/plugins/system/info.py
+26-12 files

FreeNAS/freenas 2d977ebsrc/middlewared/middlewared/api/base/types nvmet.py __init__.py, src/middlewared/middlewared/api/v25_10_0 nvmet_subsys.py nvmet_host.py

Add NQN type to API

SPDK is stricter than the kernel implementation wrt NQN format.
DeltaFile
+49-0src/middlewared/middlewared/api/base/types/nvmet.py
+4-5src/middlewared/middlewared/api/v25_10_0/nvmet_subsys.py
+4-2tests/api2/test_nvmet_tcp.py
+2-1src/middlewared/middlewared/api/v25_10_0/nvmet_host.py
+2-1src/middlewared/middlewared/api/v25_10_0/nvmet_global.py
+1-0src/middlewared/middlewared/api/base/types/__init__.py
+62-96 files

FreeNAS/freenas d69346esrc/middlewared/debian control

Add python3-truenas-spdk as build/runtime depend
DeltaFile
+2-0src/middlewared/debian/control
+2-01 files

FreeNAS/freenas 82c847dsrc/middlewared/middlewared/etc_files nvmet_spdk.py, src/middlewared/middlewared/plugins etc.py

Add SPDK plumbing
DeltaFile
+442-0src/middlewared/middlewared/plugins/nvmet/spdk.py
+21-9src/middlewared/middlewared/plugins/nvmet/global.py
+9-4src/middlewared/middlewared/plugins/nvmet/constants.py
+6-0src/middlewared/middlewared/etc_files/nvmet_spdk.py
+1-0src/middlewared/middlewared/plugins/etc.py
+479-135 files

FreeNAS/freenas 512dacasrc/middlewared/middlewared/plugins/service_/services all.py, src/middlewared/middlewared/plugins/service_/services/pseudo misc.py

Add NVMfService
DeltaFile
+7-0src/middlewared/middlewared/plugins/service_/services/pseudo/misc.py
+2-0src/middlewared/middlewared/plugins/service_/services/all.py
+9-02 files

FreeNAS/freenas 820eb13src/middlewared/middlewared/plugins/pool_ dataset_query_utils.py dataset.py

fixes found during QA
DeltaFile
+85-97src/middlewared/middlewared/plugins/pool_/dataset_query_utils.py
+0-1src/middlewared/middlewared/plugins/pool_/dataset.py
+85-982 files

FreeNAS/freenas 1e6a6ddsrc/middlewared/middlewared/plugins/pool_ dataset_query_utils.py dataset.py

WIP
DeltaFile
+93-90src/middlewared/middlewared/plugins/pool_/dataset_query_utils.py
+0-1src/middlewared/middlewared/plugins/pool_/dataset.py
+93-912 files

FreeNAS/freenas b7b999esrc/middlewared/middlewared/plugins/pool_ dataset_query_utils.py

add dataset_query_utils.py
DeltaFile
+1,152-0src/middlewared/middlewared/plugins/pool_/dataset_query_utils.py
+1,152-01 files

FreeNAS/freenas 57e607dsrc/middlewared/middlewared/api/v25_10_0 pool_dataset.py

fix bugs with API regardless of my changes
DeltaFile
+2-1src/middlewared/middlewared/api/v25_10_0/pool_dataset.py
+2-11 files

FreeNAS/freenas 1e4d87dsrc/middlewared/middlewared/plugins/pool_ dataset.py dataset_query_utils.py, src/middlewared/middlewared/service decorators.py

use generic_query in pool.dataset.query
DeltaFile
+12-34src/middlewared/middlewared/plugins/pool_/dataset.py
+1-4src/middlewared/middlewared/plugins/pool_/dataset_query_utils.py
+2-2src/middlewared/middlewared/service/decorators.py
+15-403 files

FreeNAS/freenas b3402c6src/middlewared/middlewared/api/v25_10_0 system_product.py, src/middlewared/middlewared/plugins support.py

`system.supported`
DeltaFile
+13-0src/middlewared/middlewared/plugins/system/product.py
+10-0src/middlewared/middlewared/api/v25_10_0/system_product.py
+3-1src/middlewared/middlewared/plugins/support.py
+1-0src/middlewared/middlewared/utils/__init__.py
+27-14 files

FreeNAS/freenas 6886e3fsrc/middlewared/middlewared/api/v25_04_1 pool_snapshottask.py, src/middlewared/middlewared/api/v25_10_0 smb.py nfs.py

NAS-136279 / 25.10 / Validate API method schema class names (#16619)

accepts/returns model classes are not just arbitrary string. They are
used to match schema classes between different API versions and must be
unique and uniformly named. This PR introduces model class names
validation to ensure that.

There were already a few occasions of model classes being re-used
between different API methods. This will make it impossible to change
these API methods behavior separately in future releases. This PR also
corrects that.
DeltaFile
+121-0src/middlewared/middlewared/pytest/unit/test_service_base.py
+65-0src/middlewared/middlewared/service/base.py
+30-30src/middlewared/middlewared/api/v25_10_0/smb.py
+28-28src/middlewared/middlewared/api/v25_10_0/nfs.py
+24-24src/middlewared/middlewared/plugins/system_general/ui.py
+23-23src/middlewared/middlewared/api/v25_04_1/pool_snapshottask.py
+291-105264 files not shown
+2,421-2,126270 files

FreeNAS/freenas 7a29294tests conftest.py, tests/api2 test_account.py test_user_ssh_password.py

NAS-136309 / 25.10 / fixup usage of imported pytest fixtures. (#16625)

pytest fixtures should not be imported in test modules. 

From the Flake8 maintainer and pytest core developer:
> the supported way to make reusable fixtures is to place them in a
conftest.py which is in a directory above all the tests that need it.
tests will have these fixtures "in scope" automatically

See: [stackoverflow
post](https://stackoverflow.com/questions/75647682/how-can-i-resolve-flake8-unused-import-error-for-pytest-fixture-imported-from)

This PR fixes up our usage of imported pytest fixtures.

Successful CI [test
run](http://jenkins.eng.ixsystems.net:8080/job/tests/job/api_tests/4775/)
with effected modules
DeltaFile
+8-1tests/conftest.py
+1-1tests/api2/test_account.py
+1-1tests/api2/test_user_ssh_password.py
+10-33 files

FreeNAS/freenas 68a38fdtests runtest.py

Run modules that use the test_user fixture.
DeltaFile
+13-0tests/runtest.py
+13-01 files

FreeNAS/freenas a1c9db4tests conftest.py, tests/api2 test_user_ssh_password.py test_account.py

fixup usage of imported pytest fixtures.
DeltaFile
+8-1tests/conftest.py
+1-1tests/api2/test_user_ssh_password.py
+1-1tests/api2/test_account.py
+10-33 files

FreeNAS/freenas d2afe48src/middlewared/middlewared/utils/nvmet spdk.py

Remove NULL bdev when BACKUP node
DeltaFile
+4-21src/middlewared/middlewared/utils/nvmet/spdk.py
+4-211 files

FreeNAS/freenas 6c9ee89src/middlewared/middlewared/plugins/nvmet constants.py, src/middlewared/middlewared/utils/nvmet spdk.py render_common.py

Initial HA implementation for SPDK
DeltaFile
+230-64src/middlewared/middlewared/utils/nvmet/spdk.py
+94-0src/middlewared/middlewared/utils/nvmet/render_common.py
+20-56src/middlewared/middlewared/utils/nvmet/kernel.py
+0-6src/middlewared/middlewared/plugins/nvmet/constants.py
+0-0src/middlewared/middlewared/utils/nvmet/__init__.py
+344-1265 files

FreeNAS/freenas aa556aesrc/middlewared/middlewared/plugins/nvmet spdk.py

Update nvmet.spdk.nics for HA
DeltaFile
+20-1src/middlewared/middlewared/plugins/nvmet/spdk.py
+20-11 files

FreeNAS/freenas 5337a25src/middlewared/middlewared/etc_files nvmet_spdk.py, src/middlewared/middlewared/plugins/nvmet kernel.py spdk.py

Refactor some code into utils/nvmet directory
DeltaFile
+735-0src/middlewared/middlewared/utils/nvmet/kernel.py
+0-735src/middlewared/middlewared/plugins/nvmet/kernel.py
+4-478src/middlewared/middlewared/plugins/nvmet/spdk.py
+481-0src/middlewared/middlewared/utils/nvmet/spdk.py
+3-3src/middlewared/middlewared/plugins/nvmet/namespace.py
+1-1src/middlewared/middlewared/etc_files/nvmet_spdk.py
+1,224-1,2172 files not shown
+1,226-1,2198 files

FreeNAS/freenas db4d1ebsrc/middlewared/middlewared/plugins/nvmet spdk.py kernel.py

Handle min/max controller id
DeltaFile
+16-2src/middlewared/middlewared/plugins/nvmet/spdk.py
+4-2src/middlewared/middlewared/plugins/nvmet/kernel.py
+3-0src/middlewared/middlewared/plugins/nvmet/constants.py
+23-43 files

FreeNAS/freenas 3a54a48src/middlewared/middlewared/plugins/nvmet spdk.py

Add SPDK support for nvmet.host_subsys, including CHAP keys
DeltaFile
+145-3src/middlewared/middlewared/plugins/nvmet/spdk.py
+145-31 files

FreeNAS/freenas 8c1587dsrc/middlewared/middlewared/plugins/nvmet global.py

Do not allow SPDK without avx2 in CPU flags
DeltaFile
+16-5src/middlewared/middlewared/plugins/nvmet/global.py
+16-51 files

FreeNAS/freenas 636a258src/middlewared/middlewared/plugins/system info.py, src/middlewared/middlewared/utils cpu.py

Add private API system.cpu_flags
DeltaFile
+18-0src/middlewared/middlewared/utils/cpu.py
+9-2src/middlewared/middlewared/plugins/system/info.py
+27-22 files