FreeNAS/freenas 624d8b1src/middlewared/middlewared/plugins/nvmet kernel.py port_subsys.py, src/middlewared/middlewared/service crud_service.py

Update nvmet APIs to properly handle results wrt foreign keys
DeltaFile
+13-13src/middlewared/middlewared/plugins/nvmet/kernel.py
+20-4src/middlewared/middlewared/plugins/nvmet/port_subsys.py
+10-11src/middlewared/middlewared/plugins/nvmet/host.py
+19-0src/middlewared/middlewared/service/crud_service.py
+9-9src/middlewared/middlewared/plugins/nvmet/port.py
+16-1src/middlewared/middlewared/plugins/nvmet/host_subsys.py
+87-387 files not shown
+118-5013 files

FreeNAS/freenas 6e3ef14src/middlewared/middlewared/plugins/directoryservices_ connection.py

Fix
DeltaFile
+4-3src/middlewared/middlewared/plugins/directoryservices_/connection.py
+4-31 files

FreeNAS/freenas 0b417fbsrc/middlewared/middlewared/plugins/directoryservices_ activedirectory_join_mixin.py datastore.py

Fix
DeltaFile
+1-2src/middlewared/middlewared/plugins/directoryservices_/activedirectory_join_mixin.py
+3-0src/middlewared/middlewared/plugins/directoryservices_/datastore.py
+4-22 files

FreeNAS/freenas 277ffd6src/middlewared/middlewared/plugins/directoryservices_ datastore.py

Fix
DeltaFile
+1-1src/middlewared/middlewared/plugins/directoryservices_/datastore.py
+1-11 files

FreeNAS/freenas fc8f366src/middlewared/middlewared/plugins/directoryservices_ datastore.py

Fix
DeltaFile
+1-0src/middlewared/middlewared/plugins/directoryservices_/datastore.py
+1-01 files

FreeNAS/freenas 79ab376src/middlewared/middlewared/plugins/directoryservices_ datastore.py activedirectory_join_mixin.py

Fix
DeltaFile
+4-0src/middlewared/middlewared/plugins/directoryservices_/datastore.py
+2-0src/middlewared/middlewared/plugins/directoryservices_/activedirectory_join_mixin.py
+6-02 files

FreeNAS/freenas 40e780fsrc/middlewared/middlewared/plugins/directoryservices_ connection.py

Fix
DeltaFile
+1-1src/middlewared/middlewared/plugins/directoryservices_/connection.py
+1-11 files

FreeNAS/freenas 2352162src/middlewared/debian control, src/middlewared/middlewared/utils threading.py

NAS-135936 / 25.10 / Catch ImportError in utils/threading.py (#16517)

Because of how python3-truenas-pylibzfs module operates, we need to
remove the build time dependency in debian/control and try to import the
module and catch `ImportError`. This allows the `middlewared` debian
package to successfully build.
DeltaFile
+4-1src/middlewared/middlewared/utils/threading.py
+0-2src/middlewared/debian/control
+4-32 files

FreeNAS/freenas d6fa153src/middlewared/middlewared/plugins/directoryservices_ activedirectory_join_mixin.py datastore.py

Fix
DeltaFile
+1-1src/middlewared/middlewared/plugins/directoryservices_/activedirectory_join_mixin.py
+1-0src/middlewared/middlewared/plugins/directoryservices_/datastore.py
+2-12 files

FreeNAS/freenas 8354973src/middlewared/middlewared/utils threading.py

catch ImportError
DeltaFile
+4-1src/middlewared/middlewared/utils/threading.py
+4-11 files

FreeNAS/freenas f0bbcd1src/middlewared/debian control

Revert "add python3-truenas-pylibzfs as build/runtime depend (#16516)"

This reverts commit 14f0338a52f5b86bb6c5ca6a5f10fb3763197483.
DeltaFile
+0-2src/middlewared/debian/control
+0-21 files

FreeNAS/freenas 8aaa7aasrc/middlewared/middlewared/plugins/directoryservices_ activedirectory_join_mixin.py connection.py

Fix
DeltaFile
+1-1src/middlewared/middlewared/plugins/directoryservices_/activedirectory_join_mixin.py
+1-0src/middlewared/middlewared/plugins/directoryservices_/connection.py
+2-12 files

FreeNAS/freenas 14f0338src/middlewared/debian control

add python3-truenas-pylibzfs as build/runtime depend (#16516)

This needs to be added as a build-time package.
DeltaFile
+2-0src/middlewared/debian/control
+2-01 files

FreeNAS/freenas 9e4e268src/middlewared/middlewared/plugins/directoryservices_ connection.py

Fix
DeltaFile
+1-1src/middlewared/middlewared/plugins/directoryservices_/connection.py
+1-11 files

FreeNAS/freenas 02f577esrc/middlewared/middlewared/plugins/directoryservices_ connection.py

Fix
DeltaFile
+1-1src/middlewared/middlewared/plugins/directoryservices_/connection.py
+1-11 files

FreeNAS/freenas 0797eb4src/middlewared/middlewared/plugins/directoryservices_ connection.py

Fix
DeltaFile
+1-0src/middlewared/middlewared/plugins/directoryservices_/connection.py
+1-01 files

FreeNAS/freenas 5a48626src/middlewared/middlewared/plugins/directoryservices_ connection.py

Fix
DeltaFile
+35-0src/middlewared/middlewared/plugins/directoryservices_/connection.py
+35-01 files

FreeNAS/freenas 763b343src/middlewared/middlewared/plugins/directoryservices_ datastore.py, src/middlewared/middlewared/test/integration/assets directory_service.py

Fix
DeltaFile
+2-1src/middlewared/middlewared/test/integration/assets/directory_service.py
+1-0src/middlewared/middlewared/plugins/directoryservices_/datastore.py
+3-12 files

FreeNAS/freenas 401a8b9src/middlewared/middlewared main.py, src/middlewared/middlewared/api/base decorator.py

NAS-135909 / 25.10 / add thread local storage to our thread pool (#16510)

This does a few things:
1. adds a thread local storage object to the threads in our thread pool
2. uses the newly added `truenas_pylibzfs` module to open a persistent
handle and store it in the thread-local storage for the threads in our
thread pool
3. adds a `pass_thread_local_storage` keyword argument to our
`api_method` decorator as well as adds a standalone decorator called
`@pass_thread_local_storage`.
4. adds a sub `Config` boolean attribute called
`pass_thread_local_storage`

This is the beginning steps of removing our process pool in favor of
using our thread pool for libzfs operations.

This behaves similar to how we decorate other methods or configure
plugins in middleware. The design works as follows:
1. if the sub `Config` object of a plugin has the boolean attribute

    [4 lines not shown]
DeltaFile
+34-9src/middlewared/middlewared/utils/threading.py
+17-5src/middlewared/middlewared/main.py
+9-0src/middlewared/middlewared/api/base/decorator.py
+6-0src/middlewared/middlewared/service/decorators.py
+1-0src/middlewared/middlewared/service/base.py
+67-145 files

FreeNAS/freenas e98a813src/middlewared/middlewared main.py, src/middlewared/middlewared/api/base decorator.py

add thread local storage to thread pool
DeltaFile
+34-9src/middlewared/middlewared/utils/threading.py
+17-5src/middlewared/middlewared/main.py
+9-0src/middlewared/middlewared/api/base/decorator.py
+6-0src/middlewared/middlewared/service/decorators.py
+1-0src/middlewared/middlewared/service/base.py
+67-145 files

FreeNAS/freenas 50acd43src/middlewared/middlewared/plugins/directoryservices_ activedirectory_health_mixin.py activedirectory_join_mixin.py, src/middlewared/middlewared/test/integration/assets directory_service.py

Fix
DeltaFile
+2-2src/middlewared/middlewared/test/integration/assets/directory_service.py
+2-1src/middlewared/middlewared/plugins/directoryservices_/activedirectory_health_mixin.py
+1-0src/middlewared/middlewared/plugins/directoryservices_/activedirectory_join_mixin.py
+1-0src/middlewared/middlewared/plugins/directoryservices_/datastore.py
+6-34 files

FreeNAS/freenas 1aeee04src/middlewared/middlewared/plugins/virt global.py recover_utils.py

Gracefully handle misconfigured incus instances
DeltaFile
+116-7src/middlewared/middlewared/plugins/virt/global.py
+95-0src/middlewared/middlewared/plugins/virt/recover_utils.py
+36-0src/middlewared/middlewared/plugins/virt/recover.py
+3-3src/middlewared/middlewared/plugins/virt/volume.py
+250-104 files

FreeNAS/freenas e1ff8dfsrc/middlewared/middlewared/test/integration/assets directory_service.py

Fix
DeltaFile
+13-4src/middlewared/middlewared/test/integration/assets/directory_service.py
+13-41 files

FreeNAS/freenas ac35836src/middlewared/middlewared/plugins/directoryservices_ ipa_join_mixin.py activedirectory_join_mixin.py

Fix
DeltaFile
+3-5src/middlewared/middlewared/plugins/directoryservices_/ipa_join_mixin.py
+3-3src/middlewared/middlewared/plugins/directoryservices_/activedirectory_join_mixin.py
+2-2src/middlewared/middlewared/plugins/directoryservices_/connection.py
+8-103 files

FreeNAS/freenas bdf87a8src/middlewared/middlewared/plugins/directoryservices_ datastore.py

Fix
DeltaFile
+1-1src/middlewared/middlewared/plugins/directoryservices_/datastore.py
+1-11 files

FreeNAS/freenas f2fee6bsrc/middlewared/middlewared/utils threading.py

add history_prefix, and set mnttab_cache
DeltaFile
+4-1src/middlewared/middlewared/utils/threading.py
+4-11 files

FreeNAS/freenas f27c4bfsrc/middlewared/middlewared/plugins/zfs_ dataset_crud.py, src/middlewared/middlewared/utils threading.py

add history_prefix
DeltaFile
+1-1src/middlewared/middlewared/utils/threading.py
+0-0src/middlewared/middlewared/plugins/zfs_/dataset_crud.py
+1-12 files

FreeNAS/freenas 8bc348esrc/middlewared/middlewared/plugins/directoryservices_ activedirectory_join_mixin.py

Fix
DeltaFile
+2-1src/middlewared/middlewared/plugins/directoryservices_/activedirectory_join_mixin.py
+2-11 files

FreeNAS/freenas 0a85164src/middlewared/middlewared/plugins directoryservices.py

Fix
DeltaFile
+8-9src/middlewared/middlewared/plugins/directoryservices.py
+8-91 files

FreeNAS/freenas 71e9b4asrc/middlewared/middlewared/api/v25_10_0 auth.py __init__.py, src/middlewared/middlewared/pytest/unit/plugins/apps test_list_apps.py

Merge branch 'master' of https://github.com/truenas/middleware into NAS-135606
DeltaFile
+193-191src/middlewared/middlewared/pytest/unit/plugins/apps/test_list_apps.py
+173-144src/middlewared/middlewared/api/v25_10_0/auth.py
+122-122src/middlewared/middlewared/api/v25_10_0/__init__.py
+163-0tests/api2/test_nvmet_tcp.py
+55-1tests/unit/test_shadow_account_policy.py
+28-25src/middlewared/middlewared/api/v25_10_0/user.py
+734-48337 files not shown
+1,040-58543 files