Page MenuHomeFreeBSD

igoro (Igor Ostapenko)
User

Projects

User Details

User Since
Mar 2 2023, 11:30 AM (107 w, 5 d)

Recent Activity

Mon, Mar 24

igoro added a comment to D49463: kyua: Add "kyua debug -p" option.
  • Could you please verify that this doesn't regress Linux/MacOS?
Mon, Mar 24, 10:46 PM
igoro updated the diff for D49463: kyua: Add "kyua debug -p" option.

Polish and apply the suggestions

Mon, Mar 24, 10:24 PM
igoro added a comment to D49463: kyua: Add "kyua debug -p" option.

Well, it was a quick one hour patch, now it's time for polishing.

Mon, Mar 24, 10:23 PM

Sun, Mar 23

igoro added a comment to D49463: kyua: Add "kyua debug -p" option.

Whoa, nice. :)

What happens if tests are running in parallel? The behaviour I would naively expect is that other running tests will keep going, but new ones will not be scheduled until kyua is resumed.

Sun, Mar 23, 11:19 PM
igoro updated the diff for D49463: kyua: Add "kyua debug -p" option.

Report test work dir

Sun, Mar 23, 11:08 PM
igoro requested review of D49463: kyua: Add "kyua debug -p" option.
Sun, Mar 23, 6:42 PM

Sun, Mar 16

igoro committed rG40a8746a775c: kyua: Pass unprivileged user config prop to ATF using all known names (authored by igoro).
kyua: Pass unprivileged user config prop to ATF using all known names
Sun, Mar 16, 10:57 AM

Mon, Mar 10

igoro accepted D49277: net-mgmt/simplomon: NEW PORT - radically simple availability monitoring.

LGTM

Mon, Mar 10, 10:47 AM

Tue, Mar 4

igoro committed rG9383629ffc92: kyua: Support require.diskspace ATF metadata (authored by igoro).
kyua: Support require.diskspace ATF metadata
Tue, Mar 4, 10:06 PM

Sun, Mar 2

igoro added a comment to D48087: kyua: Add "prepare" command.

Could requires be used instead of the term prepare? I think that would align the concept and the command more with what is being reported on.

Sun, Mar 2, 8:03 PM
igoro added a comment to D47668: jail: Add meta and env parameters.

I'm glad that turned out to be a workable option - thanks for adding it.

As to your comment that return an empty value for a nonexistent key instead of stopping the whole thing up with ENOENT, I see your point. But now I see another way: the NULL value, this time in the other direction. From the kernel interface side, it would be just the same as the setting direction, where receiving a NULL indicated attempted retrieval of a nonexistent key, while an empty string would only be for a key with an empty value.

It gets trickier on the user end though, where jls(8) only sometimes allows for a distinction. In particular, "jls -n meta.foo" or "jls -s meta.foo" could be made to show the same distinction between meta.foo="" and just meta.foo, but without the option there would be no way to tell. That's probably sufficient for those who care, though.

Sun, Mar 2, 4:50 PM
igoro updated the diff for D47668: jail: Add meta and env parameters.

Communicate back a missing key

Sun, Mar 2, 4:35 PM

Thu, Feb 27

igoro committed rGdb06c8fd7f5b: kyuafile.5: ATF metadata mapping reference (authored by igoro).
kyuafile.5: ATF metadata mapping reference
Thu, Feb 27, 9:49 PM

Feb 23 2025

igoro closed D49039: kyua: Pass unprivileged user config prop to ATF using all known names.
Feb 23 2025, 10:50 AM
igoro committed rG51a8eb641046: kyua: Pass unprivileged user config prop to ATF using all known names (authored by igoro).
kyua: Pass unprivileged user config prop to ATF using all known names
Feb 23 2025, 10:49 AM

Feb 22 2025

igoro updated the summary of D47668: jail: Add meta and env parameters.
Feb 22 2025, 6:32 PM
igoro added a comment to D47668: jail: Add meta and env parameters.

A few observations from actually running this:

Feb 22 2025, 6:30 PM
igoro updated the diff for D47668: jail: Add meta and env parameters.

Add key removal mechanism using NULL value as a trigger

Feb 22 2025, 5:21 PM

Feb 18 2025

igoro updated the diff for D49039: kyua: Pass unprivileged user config prop to ATF using all known names.

Add the respective code comment

Feb 18 2025, 11:22 PM
igoro added a comment to D49039: kyua: Pass unprivileged user config prop to ATF using all known names.

LGTM. Except that the commit message contains a typo: "uprivileged_user" => "unprivileged_user"

Feb 18 2025, 11:21 PM

Feb 17 2025

igoro added a comment to D49039: kyua: Pass unprivileged user config prop to ATF using all known names.

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.

Feb 17 2025, 11:25 PM
igoro added a reviewer for D49039: kyua: Pass unprivileged user config prop to ATF using all known names: tests.
Feb 17 2025, 11:23 PM
igoro requested review of D49039: kyua: Pass unprivileged user config prop to ATF using all known names.
Feb 17 2025, 11:16 PM

Feb 13 2025

igoro added a comment to D48087: kyua: Add "prepare" command.

@ngie , it would be appreciated if you could find time to consider this. It seems that your opinion is necessary to move forward.

Feb 13 2025, 11:46 PM

Feb 2 2025

igoro committed rG6befd3511105: kyua: Support require.diskspace ATF metadata (authored by igoro).
kyua: Support require.diskspace ATF metadata
Feb 2 2025, 7:54 PM
igoro closed D48333: kyua: Support require.diskspace ATF metadata.
Feb 2 2025, 7:54 PM

Jan 26 2025

igoro updated the diff for D48333: kyua: Support require.diskspace ATF metadata.

Update kyuafile.5 after landing of D48190

Jan 26 2025, 5:54 PM
igoro committed rG68206add1173: kyuafile.5: ATF metadata mapping reference (authored by igoro).
kyuafile.5: ATF metadata mapping reference
Jan 26 2025, 5:36 PM
igoro closed D48190: kyuafile.5: ATF metadata mapping reference.
Jan 26 2025, 5:36 PM

Jan 25 2025

igoro committed rGb40ca26721d7: kyua: Support is_exclusive metadata coming from an ATF test case (authored by igoro).
kyua: Support is_exclusive metadata coming from an ATF test case
Jan 25 2025, 7:47 PM

Jan 24 2025

igoro added a watcher for ZFS: igoro.
Jan 24 2025, 8:43 AM
igoro added a member for DTrace: igoro.
Jan 24 2025, 8:40 AM

Jan 23 2025

igoro added inline comments to D47668: jail: Add meta and env parameters.
Jan 23 2025, 10:06 PM
igoro updated the diff for D47668: jail: Add meta and env parameters.

Improve the comment regarding the retry mechansim

Jan 23 2025, 10:04 PM

Jan 22 2025

igoro added inline comments to D47668: jail: Add meta and env parameters.
Jan 22 2025, 8:35 AM

Jan 6 2025

igoro added a reviewer for D47668: jail: Add meta and env parameters: jamie.
Jan 6 2025, 6:25 PM
igoro updated the diff for D47668: jail: Add meta and env parameters.

tests: Use recently added support of is.exclusive coming from ATF side

Jan 6 2025, 6:12 PM
igoro added a comment to D48333: kyua: Support require.diskspace ATF metadata.

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.

Jan 6 2025, 12:22 PM
igoro requested review of D48333: kyua: Support require.diskspace ATF metadata.
Jan 6 2025, 12:17 PM
igoro added a comment to D48190: kyuafile.5: ATF metadata mapping reference.

I think submitting this upstream (freebsd/kyua) and filing an issue capturing the feedback/concerns would probably be ok.

Jan 6 2025, 10:01 AM
igoro added a comment to D48087: kyua: Add "prepare" command.
In D48087#1096440, @kp wrote:

One trivial remark about 'pip? # e.g. to have scapy installed'. We have a scapy package and that's how I've always installed it. Right now it's py311-scapy-2.6.1.

Jan 6 2025, 9:48 AM

Dec 27 2024

igoro added a comment to D48190: kyuafile.5: ATF metadata mapping reference.

It honestly seems like this documentation should live in another place, e.g., a "test driver" [1] (kyua-atf-driver(4)?) manpage. Putting all of this information in a single manpage seems like it would really clutter up what's being explained here, and the more "test drivers" get bolted on to kyua, the more complex the documentation will become.

  1. I'm not sold on the name "test driver", but it's the best I can offer for the concept right now.
Dec 27 2024, 7:42 PM

Dec 24 2024

igoro added a comment to D48190: kyuafile.5: ATF metadata mapping reference.

This is a follow-up to https://reviews.freebsd.org/D47671, where we discussed documenting of the mapping.

Dec 24 2024, 12:06 PM
igoro requested review of D48190: kyuafile.5: ATF metadata mapping reference.
Dec 24 2024, 12:03 PM
igoro added a comment to D47671: kyua: Support is_exclusive metadata coming from an ATF test case.

If you could commit it directly to the freebsd/src:main, that would be helpful :) (I think it's better to get it in sooner so it gets some bake time on FreeBSD).

Dec 24 2024, 8:43 AM
igoro closed D47671: kyua: Support is_exclusive metadata coming from an ATF test case.
Dec 24 2024, 8:40 AM
igoro committed rG2ed24e28d1d9: kyua: Support is_exclusive metadata coming from an ATF test case (authored by igoro).
kyua: Support is_exclusive metadata coming from an ATF test case
Dec 24 2024, 8:40 AM

Dec 22 2024

igoro updated the diff for D48087: kyua: Add "prepare" command.

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.
Dec 22 2024, 7:12 PM
igoro added a comment to D48087: kyua: Add "prepare" command.

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.

Dec 22 2024, 3:46 PM
igoro updated the diff for D48087: kyua: Add "prepare" command.

Rename "kyua rr" to "kyua prepare"; Drop "kyua test --rr"

Dec 22 2024, 3:11 PM
igoro retitled D48087: kyua: Add "prepare" command from kyua: Add requirement resolver concept to kyua: Add "prepare" command.
Dec 22 2024, 3:10 PM

Dec 20 2024

igoro updated the diff for D47668: jail: Add meta and env parameters.

Make keyvalue_contention test case more accurate

Dec 20 2024, 9:24 PM
igoro updated the diff for D47668: jail: Add meta and env parameters.

Tiny code improvements, no functional change

Dec 20 2024, 9:15 PM

Dec 19 2024

igoro updated the diff for D47668: jail: Add meta and env parameters.

Add keyvalue_contention test case

Dec 19 2024, 3:01 PM

Dec 18 2024

igoro updated the diff for D47668: jail: Add meta and env parameters.

Fix jm_h_cut_occurrences() logic

Dec 18 2024, 9:01 PM
igoro updated the diff for D47668: jail: Add meta and env parameters.

libjail: Correctly differentiate no<boolparam> from keyvalue-based ones

Dec 18 2024, 5:22 PM
igoro updated the summary of D47668: jail: Add meta and env parameters.
Dec 18 2024, 4:14 PM
igoro updated the diff for D47668: jail: Add meta and env parameters.

Each buffer can be handled as a set of key=value\n strings

Dec 18 2024, 4:11 PM

Dec 16 2024

igoro added a comment to D48087: kyua: Add "prepare" command.

By the way, now I'm leaning towards resolve subcommand as you mentioned:

> kyua resolve kmods
> kyua test { --resolve | -r } kmods testprog
Dec 16 2024, 10:46 AM
igoro added a comment to D48087: kyua: Add "prepare" command.

As usual, I will quibble a bit about naming - the kyua subcommands are mostly english words, so "rr" is a bit odd. Why not "resolve" or even "resolve-requirements" (or "resolve-reqs")?

Dec 16 2024, 9:47 AM

Dec 15 2024

igoro added reviewers for D48087: kyua: Add "prepare" command: markj, kp, ngie, tests.
Dec 15 2024, 1:56 AM
igoro added a comment to D48087: kyua: Add "prepare" command.

This is the very first working version of the Project B: https://lists.freebsd.org/archives/freebsd-testing/2024-November/000395.html.

Dec 15 2024, 1:54 AM
igoro requested review of D48087: kyua: Add "prepare" command.
Dec 15 2024, 1:38 AM

Dec 14 2024

igoro added a comment to D47671: kyua: Support is_exclusive metadata coming from an ATF test case.

Thanks! Please update the differential revision with the tests. Memory serves me correctly, CI on main might start failing if the tests aren't introduced.

Dec 14 2024, 5:40 PM
igoro added a comment to D47671: kyua: Support is_exclusive metadata coming from an ATF test case.

Please open a PR against freebsd/atf .
Also: this deserves a test (upstream).

Dec 14 2024, 12:32 PM

Dec 13 2024

igoro added a comment to D47668: jail: Add meta and env parameters.
  • 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.

Why is this a kernel issue? Aside from NUL, because it preserves the C-string nature, allowed characters would seem only to be a concern on the user side.

Dec 13 2024, 7:18 PM
igoro added a comment to D47671: kyua: Support is_exclusive metadata coming from an ATF test case.

The change itself looks fine to me, but don't we need to document this somewhere?

Dec 13 2024, 7:04 PM
igoro added a comment to D47668: jail: Add meta and env parameters.

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.
Dec 13 2024, 6:10 PM
igoro updated the summary of D47668: jail: Add meta and env parameters.
Dec 13 2024, 6:01 PM
igoro added a reviewer for D47668: jail: Add meta and env parameters: security.
Dec 13 2024, 6:00 PM
igoro updated the diff for D47668: jail: Add meta and env parameters.

Rename to meta/env, add meta_allowedchars.

Dec 13 2024, 5:58 PM
igoro retitled D47668: jail: Add meta and env parameters from jail: Add meta parameter to jail: Add meta and env parameters.
Dec 13 2024, 5:42 PM

Dec 3 2024

igoro added a comment to D46653: kyua: Do not count skipped as passed in test cmd.

Regarding the change proposed on the GitHub PR. I think it's better to merge the existing PR to keep FreeBSD src/contrib/kyua and the github/freebsd/kyua in sync with absolutely the same commit. And I would open a new PR for the change requested with a reference to the previous GitHub discussion/PR. What do you think is the best here from the organizational perspective?

I don't think it would be a good idea to merge the PR as-is. I'm trying to avoid violating POLA as much as humanly possible for 0.14 and taking a look at the output definitely violates POLA. There are enough Linux/MacOS things to deal with -- I'd rather not get more questions with a UX change like has been made on main...

Dec 3 2024, 10:37 AM

Dec 2 2024

igoro added a comment to D46653: kyua: Do not count skipped as passed in test cmd.

For the record, stuff like this should really be committed to freebsd/kyua first, then backported. As of right now this change is not in what's intended to go in to 0.14 and in order to do the upgrade I would need to reapply this patch. I provided a ship-it earlier, but I was swayed by the comment in the PR about this change being confusing for naive results parsers: https://github.com/freebsd/kyua/pull/230 .

Dec 2 2024, 7:20 PM

Nov 28 2024

igoro closed D47824: devel/kyua: Keep IGNORE off until alignment with the dependent ports is complete.
Nov 28 2024, 12:48 PM
igoro committed R11:f0ec11ac76dc: devel/kyua: Keep IGNORE off until the alignment with other ports (authored by igoro).
devel/kyua: Keep IGNORE off until the alignment with other ports
Nov 28 2024, 12:48 PM
igoro added a comment to D47668: jail: Add meta and env parameters.

Yeah, it seems that on the Jail Call of 26-Nov we came to a conclusion that for now we would keep it very simple like two buffers per jail managed from the user-land side, while keeping a wide spectrum of opportunities to extend it in the future having a more specific production need in mind. Thus, we can postpone thinking about extra complexity on the kernel side.

If I had managed to make that call, I have to say that at least the conclusion wouldn't have been unanimous. The single blob is indeed simpler to implement, but not simpler to use. Still, you mention extension, and that's a possibility. I'm thinking something like:

meta="foo=bar\0baz=bletch"
meta.foo="bar"
meta.baz="bletch"

Nov 28 2024, 9:43 AM
igoro requested review of D47824: devel/kyua: Keep IGNORE off until alignment with the dependent ports is complete.
Nov 28 2024, 8:22 AM

Nov 27 2024

igoro added a comment to D47668: jail: Add meta and env parameters.

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.

There is a third useful combination: (privileged) access host access only e.g. as a place to store API token or similar things without ever writing them to a file.

The problem having a fixed set of sysctls with with their designated access permissions is that all accesses have to go through a single writer and use the same data format because a single sysctl is just one string. This means anyone else is required closely coupled to that writer unless there is some standardised patch and query interface (e.g. JSON patch and JSON query) and I can't imagine anyone wanting to deal with that complexity. A flat key=value store avoids this by allowing multiple writers to lay exclusive claim to their part of the keyspace, but it doesn't absolve the need for access control.

Nov 27 2024, 3:02 PM

Nov 26 2024

igoro updated the summary of D47668: jail: Add meta and env parameters.
Nov 26 2024, 5:58 PM

Nov 25 2024

igoro added a comment to D47668: jail: Add meta and env parameters.

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.

Nov 25 2024, 5:36 PM
igoro updated the diff for D47668: jail: Add meta and env parameters.

v2: Split onto two buffers per jail: external & internal

Nov 25 2024, 5:22 PM

Nov 24 2024

igoro added a comment to D47470: poc of atf_require_kld.

Great, I can continue from any point where you decide to stop and land your commits.

Nov 24 2024, 12:27 PM

Nov 22 2024

igoro updated the summary of D47332: sysctl: Revise meaning of CTLFLAG_PRISON.
Nov 22 2024, 7:53 PM
igoro added a comment to D47332: sysctl: Revise meaning of CTLFLAG_PRISON.

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.
Nov 22 2024, 7:45 PM
igoro updated the diff for D47332: sysctl: Revise meaning of CTLFLAG_PRISON.

Pivot the patch.

Nov 22 2024, 7:41 PM
igoro retitled D47332: sysctl: Revise meaning of CTLFLAG_PRISON from sysctl: Add missing CTLFLAG_PRISON to security.jail.children.* to sysctl: Revise meaning of CTLFLAG_PRISON.
Nov 22 2024, 7:39 PM

Nov 21 2024

igoro committed rG976ab1425da4: git-arc: Document how a reviewer group can be referenced (authored by igoro).
git-arc: Document how a reviewer group can be referenced
Nov 21 2024, 10:39 AM
igoro closed D47669: git-arc: Document how a reviewer group can be referenced.
Nov 21 2024, 10:39 AM
igoro added inline comments to D47669: git-arc: Document how a reviewer group can be referenced.
Nov 21 2024, 10:35 AM
igoro retitled D47669: git-arc: Document how a reviewer group can be referenced from git-arc: Document how a group of reviewers can be referred to to git-arc: Document how a reviewer group can be referenced.
Nov 21 2024, 10:33 AM

Nov 19 2024

igoro added a reviewer for D47671: kyua: Support is_exclusive metadata coming from an ATF test case: tests.
Nov 19 2024, 4:04 PM
igoro added a reviewer for D47671: kyua: Support is_exclusive metadata coming from an ATF test case: ngie.
Nov 19 2024, 1:17 PM
igoro added a comment to D47671: kyua: Support is_exclusive metadata coming from an ATF test case.

I would like to share my thoughts regarding this.

Nov 19 2024, 1:16 PM
igoro requested review of D47671: kyua: Support is_exclusive metadata coming from an ATF test case.
Nov 19 2024, 1:14 PM
igoro requested review of D47669: git-arc: Document how a reviewer group can be referenced.
Nov 19 2024, 11:44 AM
igoro updated the summary of D47668: jail: Add meta and env parameters.
Nov 19 2024, 10:54 AM
igoro updated the summary of D47668: jail: Add meta and env parameters.
Nov 19 2024, 10:54 AM
igoro added a comment to D47668: jail: Add meta and env parameters.

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 19 2024, 10:44 AM
igoro requested review of D47668: jail: Add meta and env parameters.
Nov 19 2024, 10:40 AM