NAS-137265 / 25.10-RC.1 / Fix show_if usage for item schemas within a list (by sonicaj) (#17102)
This PR adds changes to fix `show_if` usage for item schemas within a
list and also assuming that we will only have 1 item in the list schema
(which is true for existing apps and will be enforced by
apps_validation).
Original PR: https://github.com/truenas/middleware/pull/17058
---------
Co-authored-by: Waqar Ahmed <waqarahmedjoyia at live.com>
NAS-137265 / 26.04 / Fix show_if usage for item schemas within a list (#17058)
This PR adds changes to fix `show_if` usage for item schemas within a
list and also assuming that we will only have 1 item in the list schema
(which is true for existing apps and will be enforced by
apps_validation).
NAS-137353 / 26.04 / Add nfs.conf stub file to satisfy systemd generated rpc daemon start. (#17101)
### DO NOT BACKPORT
The new `nfs-utils` moved systemd management of the NFS rpc daemon to a
'generated' method. Generated systemd unit files are managed by a
compiled binary. These are run _very_ early in boot. The NFS rpc module
depends on a setting in `/etc/nfs.conf`. This file is managed and
created by middleware with mako scripts. It doesn't get created until
NFS has been started. Under this condition, systemd generates the rpc
files, but finds no rpc setting which results in no rpc daemon.
This fixes the NFS `test_service_update` failures in `test_300_nfs.py`
**The Fix:**
There are two PRs associated with this fix. One for `middleware` (this
PR) and one for `scale-build`
This PR adds a stub file, `/etc/nfs.conf` with a single hardcoded
setting to enable systemd to generate the proper rpc files.
The `scale-build` PR excludes the file from truenas_verify (mtree).
Passing CI tests
[here](http://jenkins.eng.ixsystems.net:8080/job/tests/job/api_tests/5736/).
NAS-137266 / 26.04 / Make sure create paths properly get executed (#17057)
## Problem
`create_paths` in system dataset spec definition is applied EACH time
system dataset setup is executed. The problem happens when a new
sub-dataset is defined in system dataset setup and it has `create_paths`
defined, by default these datasets have legacy mountpoint set. Which
means if the create paths refer to a path on the just created dataset,
that would get created on the _parent_ dataset instead of the actual
dataset because the dataset which was created just right now had not
been mounted.
## Solution
Make sure that we execute create relevant paths endpoint when the
dataset in question has already mounted.
One of the key changes here apart from having it execute once the
dataset is already mounted is that this will not be executed if the
[5 lines not shown]