User Details
- User Since
- Mar 2 2023, 11:30 AM (103 w, 22 h)
Tue, Feb 18
Add the respective code comment
Mon, Feb 17
I guess it could be helpful for a couple of test cases from tests/sys/netinet/fibs_multibind_test.c and/or tests/sys/netinet/socket_afinet.c.
Thu, Feb 13
@ngie , it would be appreciated if you could find time to consider this. It seems that your opinion is necessary to move forward.
Sun, Feb 2
Sun, Jan 26
Update kyuafile.5 after landing of D48190
Sat, Jan 25
Fri, Jan 24
Thu, Jan 23
Improve the comment regarding the retry mechansim
Jan 22 2025
Jan 6 2025
tests: Use recently added support of is.exclusive coming from ATF side
This is a follow-up to https://reviews.freebsd.org/D48190, where it was discovered that this support is missing. It's obvious that our test suite does not use it, and this patch is for consistency and not to say "not mapped" in the kyuafile.5. Also, I found that Kyua 0.11 release notes state that it should work, so actually this is a fix.
Dec 27 2024
Dec 24 2024
This is a follow-up to https://reviews.freebsd.org/D47671, where we discussed documenting of the mapping.
Dec 22 2024
Now the wording is away from the internals and closer to the end users:
> ./kyua help | grep prepare prepare Prepare env and resolve requirements before testing.
My current favorite is the prepare term proposed by Kristof. So, I've changed it in the latest version of the patch for the sake of further testing and discussion. Everything is open for renaming. The internals still use requirement resolver terminology, I could not quickly find the replacement and probably it's not needed due to "prepare" is kind of higher level, anyway this is the encapsulated part with the only exposure via CLI help output.
Rename "kyua rr" to "kyua prepare"; Drop "kyua test --rr"
Dec 20 2024
Make keyvalue_contention test case more accurate
Tiny code improvements, no functional change
Dec 19 2024
Add keyvalue_contention test case
Dec 18 2024
Fix jm_h_cut_occurrences() logic
libjail: Correctly differentiate no<boolparam> from keyvalue-based ones
Each buffer can be handled as a set of key=value\n strings
Dec 16 2024
By the way, now I'm leaning towards resolve subcommand as you mentioned:
> kyua resolve kmods > kyua test { --resolve | -r } kmods testprog
Dec 15 2024
This is the very first working version of the Project B: https://lists.freebsd.org/archives/freebsd-testing/2024-November/000395.html.
Dec 14 2024
Dec 13 2024
The latest update aggregates the recent discussions:
- Rename metaext/metaint to meta/env. meta is expected to be used for "tagging" and hidden from the jail. env is intended for "configuring" and readable by the jail through security.jail.env sysctl.
- The allowed chars for each buffer are very limited by default, it covers Base64, k=v\n format, and some extra bytes. It can be changed via security.jail.meta_allowedchars sysctl. For convenience (as it seems to me for now), setting it to an empty string allows everything.
- The tests and man page are upgraded respectively.
Rename to meta/env, add meta_allowedchars.
Dec 3 2024
Dec 2 2024
Nov 28 2024
Nov 27 2024
Nov 26 2024
Nov 25 2024
It seems there is an agreement to split it onto two buffers per jail: both are readable by parent jail, while only one is readable by a jail itself. The updated patch reflects this concept. For now metaext and metaint naming is used as external/internal concept. The naming is open for discussion.
v2: Split onto two buffers per jail: external & internal
Nov 24 2024
Great, I can continue from any point where you decide to stop and land your commits.
Nov 22 2024
Thank you all for the discussion. I've refreshed the context for myself and I would like to share it:
- We have got a new -J flag for sysctl(8). It filters the variables by CTLFLAG_PRISON.
- It reminded me of a couple of existing sysctlS which are not listed with the -J flag.
- That's because they are read-only (CTLFLAG_RD) without CTLFLAG_PRISON flag set. The reasoning follows.
- The CTLFLAG_PRISON has been used as a way to allow jailed roots modify a sysctl. It works very simple way. If a sysctl sys call request means modification, i.e. a new buffer (the req->newptr) is provided, then the sys call will check if the user has PRIV_SYSCTL_WRITE privilege. It does not work for a jailed root, that's why the sys call will check for another privilege (PRIV_SYSCTL_WRITEJAIL) if the sysctl in question has CTLFLAG_PRISON flag set. That's the only use case for this flag for now.
- And it's fine that read-only per-jail variables do not have this flag, it's not needed for them.
- As long as I found this little inconsistency I proposed to update the meaning of this flag (sysctl.9) and add it to some read-only variables which are, kind of, expected to be found in the sysctl -aJ output.
Pivot the patch.
Nov 21 2024
Nov 19 2024
I would like to share my thoughts regarding this.
Currently, there is no accessible way to attach metadata to jails. This is commonly used elsewhere, for example in Kubernetes, to allow non-unique properties to enrich load balancers, schedulers, and volume provisioners to make more informed decisions.
Nov 15 2024
Looks good to me too.
Nov 12 2024
The email (https://lists.freebsd.org/archives/freebsd-testing/2024-November/000399.html) was understood to mean that you wanted to offer help with the development and were asking about a review. This was interpreted as a request to take over the project entirely, which is why I shared the full plan I intended to follow—to avoid prolonging the process, reduce the number of iterations, and clearly outline all expectations upfront. Please, let me know if you did not intend to work on this project and the email was misunderstood.
Nov 9 2024
I see the currently proposed change as the following outcome:
- 13.x users should stay as is with old test suite and old Kyua from base or port/pkg. And the pkg is expected to be still cooked till 13 branch EOL.
- 14.x users are expected to find kyua pkg missing after upgrade to the latest port branch. They are expected to do such upgrade with OS upgrade as well, i.e. up to 14.2, which has the test suite aligned with Kyua in its base. 14.0 and 14.1 users of older Q branches are expected to use the same older suite and pkg. Even if they upgrade only ports having old 14.0 or 14.1 then they still have the test suite runnable with Kyua in their base.
- Just in case, the port is still available for anyone till 13 EOL (30 April 2026).
- A port/pkg update is expected to show the deprecation notice. It should cover attended cases.
IGNORE it for 14.0+
Nov 8 2024
Thank you for working on this. If you plan to go ahead then please consider the following points.
I had to double check the things. I've delved into the details and discovered that the existing code does not allow to use CTLFLAG_PRISON as a flag which means that a variable varies per jail. I've stumbled upon the *allow* variables like these ones:
SYSCTL_PROC(_security_jail, OID_AUTO, set_hostname_allowed, CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, NULL, PR_ALLOW_SET_HOSTNAME, sysctl_jail_default_allow, "I", "Processes in jail can set their hostnames (deprecated)");
Nov 7 2024
Bump PORTREVISION with the expectation that users will see the deprecation notice upon upgrade.
Update the deprecation notice as suggested.
Please, check the updated patch as the follow-up of your email.
Oct 31 2024
Covered by https://reviews.freebsd.org/D47334.