Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 31 Mar 2023 09:15:27 +0900
From:      Kristof Provost <kp@FreeBSD.org>
To:        Mark Johnston <markj@freebsd.org>
Cc:        src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org
Subject:   Re: git: b60600ceeb68 - main - pf tests: Serialize
Message-ID:  <DFBE4D6A-4CA1-4E24-AA67-A1564AF96968@FreeBSD.org>
In-Reply-To: <ZCYj50rKEtzIgqc0@nuc>
References:  <202303302336.32UNatba067594@gitrepo.freebsd.org> <3A26AB82-357F-421F-853E-07320387ACBE@FreeBSD.org> <ZCYj50rKEtzIgqc0@nuc>

next in thread | previous in thread | raw e-mail | index | archive | help
On 31 Mar 2023, at 9:05, Mark Johnston wrote:
> On Fri, Mar 31, 2023 at 08:56:56AM +0900, Kristof Provost wrote:
>> On 31 Mar 2023, at 8:36, Mark Johnston wrote:
>>> The branch main has been updated by markj:
>>>
>>> URL: https://cgit.FreeBSD.org/src/commit/?id=3Db60600ceeb68d1001d6122=
2830e0be3441ef0885
>>>
>>> commit b60600ceeb68d1001d61222830e0be3441ef0885
>>> Author:     Mark Johnston <markj@FreeBSD.org>
>>> AuthorDate: 2023-03-25 12:55:41 +0000
>>> Commit:     Mark Johnston <markj@FreeBSD.org>
>>> CommitDate: 2023-03-30 23:35:59 +0000
>>>
>>>     pf tests: Serialize
>>>
>>>     These tests reuse jail names and cannot run in parallel.  Until t=
his is
>>>     fixed - which is desirable since these takes take a while to run =
- tell
>>>     kyua to serialize them.
>>>
>>
>> The tests also recycle IP ranges, so merely changing the jail names is=
 insufficient.
>
> Could you please give an example?  I looked at some of the tests but ca=
n
> only see cases where addresses are assigned within the vnet jail(s)
> created by the tests, in which case I'd expect no problems.
>
Altq:hfsq assigns 192.0.2.1/24 on an epair on the host, so does altq:matc=
h, altq:cbq_vlan, altq:codel_bridge, dup:dup_to, ether:mac, ether:proto a=
nd .. then I got bored looking.

It=E2=80=99s not just the pf tests either. For example the netinet/forwar=
d:fwd_ip_icmp_iface_fast_success test does that too (well, 192.0.2.1/29, =
but anyway). There are going to be more, this is just from a very quick l=
ook.

>> Realistically the easiest way to get these to run in parallel would be=
 to run each test in its own vnet so both overlapping IP ranges and name =
conflicts don=E2=80=99t matter.
>
> Yeah, I was wondering whether it'd be possible to have kyua handle the
> creation and teardown of a per-test jail, if only to avoid having to go=

> through all of the tests which use static jail names.

That=E2=80=99s what I was thinking as well, yes.

We might be able to get to a point where all the tests have unique jail n=
ames, but we=E2=80=99re never going to manage to de-conflict all of the I=
P assignments. Even if we could, it=E2=80=99d make writing tests harder a=
nd that=E2=80=99s counterproductive.

The only issue I can think of with having the tests run in their own vnet=
 is that there may be some tests that play with non-vneted sysctls, so we=
 will have to make that vnet feature optional.

Best regards,
Kristof



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?DFBE4D6A-4CA1-4E24-AA67-A1564AF96968>