FreeNAS/freenas fa37f08tests/unit test_auditd_rules.py

Fix stig unit test.  Update the compare.

(cherry picked from commit bb0a93263e07544a8a10e0671b4d8717e8da4596)
DeltaFile
+5-5tests/unit/test_auditd_rules.py
+5-51 files

FreeNAS/freenas c3051e4tests/unit test_auditd_rules.py

NAS-134795 / 25.10 / Fix stig unit test. (#16000)

The STIG unit test is failing because the recently added test used an
incorrect string. The test used the _source_ rule, but the `augenrules`
utility reformats the rule.

Updated the test to use the rule as formatted by `augenrules`.

The auditd rule is included in 25.04.0 and this test fix should be
backported accordingly.
DeltaFile
+5-5tests/unit/test_auditd_rules.py
+5-51 files

FreeNAS/freenas 8e5b044src/middlewared/middlewared/api/v25_04_0 virt_instance.py virt_volume.py

NAS-134764 / 25.04.0 / Fix discrepancy between 2510 and 2504 virt pydantic models (by Qubad786) (#16001)

## Context

A small diff between 2504 and 2510 had leaked in backporting changes and
is being fixed.

Original PR: https://github.com/truenas/middleware/pull/15989
Jira URL: https://ixsystems.atlassian.net/browse/NAS-134764

Co-authored-by: M. Rehan <mrehanlm93 at gmail.com>
DeltaFile
+1-1src/middlewared/middlewared/api/v25_04_0/virt_instance.py
+1-1src/middlewared/middlewared/api/v25_04_0/virt_volume.py
+2-22 files

FreeNAS/freenas 8f68cdfsrc/middlewared/middlewared/api/v25_10_0 system_general_ui.py

alphabetize the classes
DeltaFile
+24-24src/middlewared/middlewared/api/v25_10_0/system_general_ui.py
+24-241 files

FreeNAS/freenas 22cfc03src/middlewared/middlewared/api/v25_04_0 virt_instance.py virt_volume.py

NAS-134764 / 25.10 / Fix discrepancy between 2510 and 2504 virt pydantic models (#15989)

## Context

A small diff between 2504 and 2510 had leaked in backporting changes and
is being fixed.
DeltaFile
+1-1src/middlewared/middlewared/api/v25_04_0/virt_instance.py
+1-1src/middlewared/middlewared/api/v25_04_0/virt_volume.py
+2-22 files

FreeNAS/freenas 6645b62src/middlewared/middlewared/plugins/system_general ui.py

grammar are hard
DeltaFile
+4-4src/middlewared/middlewared/plugins/system_general/ui.py
+4-41 files

FreeNAS/freenas 10604e6src/middlewared/middlewared/plugins/filesystem_ perm_check.py

move filesystem.can_access_as_user to a private endpoint
DeltaFile
+8-13src/middlewared/middlewared/plugins/filesystem_/perm_check.py
+8-131 files

FreeNAS/freenas 312ee15src/middlewared/middlewared/api/v25_10_0 system_general_timezone.py __init__.py, src/middlewared/middlewared/plugins/system_general timezone.py

NAS-134784 / 25.10 / convert system.general.timezone_choices to new API (#15996)

DeltaFile
+9-3src/middlewared/middlewared/plugins/system_general/timezone.py
+9-0src/middlewared/middlewared/api/v25_10_0/system_general_timezone.py
+1-0src/middlewared/middlewared/api/v25_10_0/__init__.py
+19-33 files

FreeNAS/freenas 5d85e96src/middlewared/middlewared/api/v25_10_0 system_general_keymap.py __init__.py, src/middlewared/middlewared/plugins/system_general keymap.py

NAS-134783 / 25.10 / convert system.general.kbdmap_choices to new API (#15995)

This converts `system.general.kbdmap_choices` to new API and also
switches to parsing the `xml` provided file which is a better approach
for programmatically building this list.
DeltaFile
+15-37src/middlewared/middlewared/plugins/system_general/keymap.py
+22-0src/middlewared/middlewared/utils/kbdmap_choices.py
+9-0src/middlewared/middlewared/api/v25_10_0/system_general_keymap.py
+1-0src/middlewared/middlewared/api/v25_10_0/__init__.py
+47-374 files

FreeNAS/freenas 6c6f39bsrc/middlewared/middlewared/api/v25_10_0 filesystem_perm_check.py

typo
DeltaFile
+1-2src/middlewared/middlewared/api/v25_10_0/filesystem_perm_check.py
+1-21 files

FreeNAS/freenas 01b8e99src/middlewared/middlewared/api/v25_10_0 filesystem_perm_check.py __init__.py, src/middlewared/middlewared/plugins/filesystem_ perm_check.py

move filesystem_/perm_check.py to new API
DeltaFile
+20-0src/middlewared/middlewared/api/v25_10_0/filesystem_perm_check.py
+8-11src/middlewared/middlewared/plugins/filesystem_/perm_check.py
+1-0src/middlewared/middlewared/api/v25_10_0/__init__.py
+29-113 files

FreeNAS/freenas 57358aasrc/middlewared/middlewared/api/v25_10_0 system_general_ui.py __init__.py, src/middlewared/middlewared/plugins/system_general ui.py

convert system_general/ui.py to new API
DeltaFile
+126-80src/middlewared/middlewared/plugins/system_general/ui.py
+52-0src/middlewared/middlewared/api/v25_10_0/system_general_ui.py
+1-0src/middlewared/middlewared/api/v25_10_0/__init__.py
+179-803 files

FreeNAS/freenas ca0742asrc/middlewared/middlewared/plugins/system_general language.py update.py

remove language from system.general
DeltaFile
+0-110src/middlewared/middlewared/plugins/system_general/language.py
+0-11src/middlewared/middlewared/plugins/system_general/update.py
+0-1212 files

FreeNAS/freenas 488d56csrc/middlewared/middlewared/plugins/virt global.py utils.py, tests/api2 test_virt_storage_pool.py

Merge branch 'master' of https://github.com/truenas/middleware into NAS-133993
DeltaFile
+250-93src/middlewared/middlewared/plugins/virt/global.py
+191-0tests/api2/test_virt_storage_pool.py
+71-4src/middlewared/middlewared/plugins/virt/utils.py
+45-22src/middlewared/middlewared/plugins/virt/volume.py
+47-17src/middlewared/middlewared/plugins/virt/instance.py
+28-21src/middlewared/middlewared/plugins/virt/instance_device.py
+632-15722 files not shown
+889-20128 files

FreeNAS/freenas 3e5c92esrc/middlewared/middlewared/plugins/zfs_ snapshot_actions.py snapshot.py

set defaults in zfs.snapshot methods
DeltaFile
+23-20src/middlewared/middlewared/plugins/zfs_/snapshot_actions.py
+25-17src/middlewared/middlewared/plugins/zfs_/snapshot.py
+48-372 files

FreeNAS/freenas 31e3496tests/api2 test_438_snapshots.py test_zfs_snapshot_events.py

replace all occurences of zfs.snapshot with pool.snapshot in tests
DeltaFile
+13-13tests/api2/test_438_snapshots.py
+12-12tests/api2/test_zfs_snapshot_events.py
+8-8tests/api2/test_zfs_snapshot_hold.py
+6-6tests/api2/test_snapshot_query.py
+5-5tests/api2/test_snapshot_count_alert.py
+5-5tests/api2/test_account_privilege_role.py
+49-4914 files not shown
+74-7320 files

FreeNAS/freenas 6a70d7csrc/middlewared/middlewared/api/v25_10_0 system_general_timezone.py __init__.py, src/middlewared/middlewared/plugins/system_general timezone.py

conver system.general.timezone_choices to new API
DeltaFile
+9-3src/middlewared/middlewared/plugins/system_general/timezone.py
+9-0src/middlewared/middlewared/api/v25_10_0/system_general_timezone.py
+1-0src/middlewared/middlewared/api/v25_10_0/__init__.py
+19-33 files

FreeNAS/freenas c50bb62src/middlewared/middlewared/plugins/system_general keymap.py

fix typo
DeltaFile
+1-1src/middlewared/middlewared/plugins/system_general/keymap.py
+1-11 files

FreeNAS/freenas d76450dsrc/middlewared/middlewared/api/v25_10_0 system_general_keymap.py __init__.py, src/middlewared/middlewared/plugins/system_general keymap.py

convert system.general.kbdmap_choices to new API
DeltaFile
+15-37src/middlewared/middlewared/plugins/system_general/keymap.py
+22-0src/middlewared/middlewared/utils/kbdmap_choices.py
+9-0src/middlewared/middlewared/api/v25_10_0/system_general_keymap.py
+1-0src/middlewared/middlewared/api/v25_10_0/__init__.py
+47-374 files

FreeNAS/freenas dd678dcsrc/middlewared/middlewared/plugins/virt utils.py, src/middlewared/middlewared/plugins/zfs_ utils.py

NAS-134781 / 25.04.0 / Standardize prefix for incus storage pool property (by anodos325) (#15994)

This commit fixes an issue with the incus storage pool ZFS user property
prefix and puts it in the enum of truenas-manaaged user properties.

Original PR: https://github.com/truenas/middleware/pull/15993
Jira URL: https://ixsystems.atlassian.net/browse/NAS-134781

Co-authored-by: Andrew Walker <awalker at ixsystems.com>
DeltaFile
+2-1src/middlewared/middlewared/plugins/virt/utils.py
+1-0src/middlewared/middlewared/plugins/zfs_/utils.py
+3-12 files

FreeNAS/freenas 5af3222tests/unit test_copytree.py

NAS-134777 / 25.04.0 / Fix copytree unit test failures (by anodos325) (#15992)

This commit changes to using a set comparison insted of list comparison
for directory contents.

Original PR: https://github.com/truenas/middleware/pull/15991
Jira URL: https://ixsystems.atlassian.net/browse/NAS-134777

Co-authored-by: Andrew Walker <awalker at ixsystems.com>
DeltaFile
+1-1tests/unit/test_copytree.py
+1-11 files

FreeNAS/freenas b1b62d0src/middlewared/middlewared/plugins/virt utils.py, src/middlewared/middlewared/plugins/zfs_ utils.py

Standardize prefix for incus storage pool property

This commit fixes an issue with the incus storage pool ZFS
user property prefix and puts it in the enum of truenas-manaaged
user properties.

(cherry picked from commit 67f5f415a52d60d282c7844323071954a204b2b5)
DeltaFile
+2-1src/middlewared/middlewared/plugins/virt/utils.py
+1-0src/middlewared/middlewared/plugins/zfs_/utils.py
+3-12 files

FreeNAS/freenas 0134ccasrc/middlewared/middlewared/plugins/virt utils.py, src/middlewared/middlewared/plugins/zfs_ utils.py

NAS-134781 / 25.10 / Standardize prefix for incus storage pool property (#15993)

This commit fixes an issue with the incus storage pool ZFS user property
prefix and puts it in the enum of truenas-manaaged user properties.
DeltaFile
+2-1src/middlewared/middlewared/plugins/virt/utils.py
+1-0src/middlewared/middlewared/plugins/zfs_/utils.py
+3-12 files

FreeNAS/freenas cf0a235tests/unit test_copytree.py

Fix copytree unit test failures

This commit changes to using a set comparison insted of list
comparison for directory contents.

(cherry picked from commit ee0b9398c7005c13e7955904709152ea86cce93b)
DeltaFile
+1-1tests/unit/test_copytree.py
+1-11 files

FreeNAS/freenas c2ba6dctests/unit test_copytree.py

NAS-134777 / 25.10 / Fix copytree unit test failures (#15991)

This commit changes to using a set comparison insted of list comparison
for directory contents.
DeltaFile
+1-1tests/unit/test_copytree.py
+1-11 files

FreeNAS/freenas ee0b939tests/unit test_copytree.py

Fix copytree unit test failures

This commit changes to using a set comparison insted of list
comparison for directory contents.
DeltaFile
+1-1tests/unit/test_copytree.py
+1-11 files

FreeNAS/freenas 983311esrc/middlewared/middlewared/plugins/virt instance.py, src/middlewared/middlewared/test/integration/assets virt.py

NAS-134443 / 25.04.0 / Make sure virt instance is stopped before attempting to delete it (by Qubad786) (#15990)

DeltaFile
+11-6src/middlewared/middlewared/plugins/virt/instance.py
+0-4src/middlewared/middlewared/test/integration/assets/virt.py
+11-102 files

FreeNAS/freenas 79f9525src/middlewared/middlewared/plugins/virt instance.py, src/middlewared/middlewared/test/integration/assets virt.py

Make sure virt instance is stopped before attempting to delete it

(cherry picked from commit ff762ef7e18229a156c77f3b828dedd4c67b3d93)
DeltaFile
+11-6src/middlewared/middlewared/plugins/virt/instance.py
+0-4src/middlewared/middlewared/test/integration/assets/virt.py
+11-102 files

FreeNAS/freenas af8b25dsrc/middlewared/middlewared/plugins/virt instance.py, src/middlewared/middlewared/test/integration/assets virt.py

NAS-134443 / 25.10 / Make sure virt instance is stopped before attempting to delete it (#15988)

## Problem

There has been a case where an incus instance was not able to delete
because incus complained that it can't delete a running instance. I have
not been able to reproduce it specifically but there was a case which
was being missed which was that if the instance is in `UNKNOWN` state
which it can be but very briefly - that can result in this issue.


## Solution

Make sure if instance is not stopped, we attempt to force stop it before
attempting deletion and if it fails (which it can if the instance is
already stopped, we just silently log it) and let deletion go through.
DeltaFile
+11-6src/middlewared/middlewared/plugins/virt/instance.py
+0-4src/middlewared/middlewared/test/integration/assets/virt.py
+11-102 files

FreeNAS/freenas 62bba9csrc/middlewared/middlewared/api/v25_04_0 virt_instance.py virt_volume.py

Fix discrepancy between 2510 and 2504 virt pydantic models
DeltaFile
+1-1src/middlewared/middlewared/api/v25_04_0/virt_instance.py
+1-1src/middlewared/middlewared/api/v25_04_0/virt_volume.py
+2-22 files