[PATCH 0/5] Some more hacks and workarounds to make tests pass again
Some of these are actual fixes, some are just hacks to keep tests running while we figure out issues. A part of this series should actually be reverted once we figure out why iperf3 clients and servers get stuck now and then. Stefano Brivio (5): test/lib: Run also iperf3 clients in background, revert to time-based wait test/lib: Wait for kernel to free up ports used by iperf3 before reusing them test/perf: Wait for neper servers in guest to be ready before starting client test/lib: Wait for DHCPv4 before starting DHCPv6 client in two_guests test test/distro: Update workarounds for Ubuntu 22.04 on s390x test/distro/ubuntu | 4 +++- test/lib/setup | 1 + test/lib/test | 11 ++++++++--- test/perf/passt_tcp | 4 ++++ test/perf/passt_udp | 2 ++ 5 files changed, 18 insertions(+), 4 deletions(-) -- 2.35.1
Unfortunately, this partially counters recent efforts by David to
speed up these tests, but it looks like iperf3 clients don't reliably
terminate, in some rare cases I couldn't isolate yet.
For the moment being, reintroduce the time-based wait approach, now
using the configurable test duration, and terminate the servers at
the end of it, in case they're stuck. There's no point in keeping
the 'sleep 2' later, so drop that, and while at it, make sure that
the stuck servers have time to flush the JSON output before we use
it.
Signed-off-by: Stefano Brivio
If we start another server on the same port right away, we might fail
to bind the port. A small delay appears to be needed -- I'm not
entirely sure why at this point.
Signed-off-by: Stefano Brivio
Starting tcp_rr, tcp_crr, udp_rr servers in the guest takes a bit
longer than starting the corresponding clients on the host, and we
end up starting clients before servers unless we add a delay there.
Signed-off-by: Stefano Brivio
I'm not sure why, but dhclient hangs otherwise. This reflects what we
do in the passt_in_ns setup steps.
Eventually, this whole block could go away if we let pasta configure
this network namespace with --config-net.
Signed-off-by: Stefano Brivio
On Fri, Sep 23, 2022 at 02:53:26AM +0200, Stefano Brivio wrote:
I'm not sure why, but dhclient hangs otherwise. This reflects what we do in the passt_in_ns setup steps.
Eventually, this whole block could go away if we let pasta configure this network namespace with --config-net.
Heh.. I have a patch to do exactly that in the works.
Signed-off-by: Stefano Brivio
--- test/lib/setup | 1 + 1 file changed, 1 insertion(+) diff --git a/test/lib/setup b/test/lib/setup index d7921bf..7e3f6c3 100755 --- a/test/lib/setup +++ b/test/lib/setup @@ -216,6 +216,7 @@ setup_two_guests() {
context_run qemu_1 "/sbin/dhclient -4 --no-pid ${__ifname}" context_run qemu_2 "/sbin/dhclient -4 --no-pid ${__ifname}" + sleep 2 context_run qemu_1 "/sbin/dhclient -6 --no-pid ${__ifname}" context_run qemu_2 "/sbin/dhclient -6 --no-pid ${__ifname}"
-- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
If we use dhclient without creating a complete network configuration,
systemd-resolved will stop working after a while, and this sometimes
happens while we're still installing packages.
Disable it, together with systemd-networkd, while taking care of
removing the dhclient hook that prevents overriding /etc/resolv.conf.
While at it, it looks like removing snapd and needrestart actually
takes more time than keeping them: drop that line.
Signed-off-by: Stefano Brivio
participants (2)
-
David Gibson
-
Stefano Brivio