Skip to content

Fixes for random failures - #32

Open
flichtenheld wants to merge 2 commits into
mainfrom
test-4
Open

Fixes for random failures#32
flichtenheld wants to merge 2 commits into
mainfrom
test-4

Conversation

@flichtenheld

Copy link
Copy Markdown
Member

No description provided.

We see this sometimes with IPv6 addresses. Make sure we
wait until the tentative state is removed. Otherwise we
might get spurious failures on comparing state.

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
We see delays until the routes are all established. They
always work eventually.

Increase the time we wait and try to help the routing by
using static --lladdr.

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
@flichtenheld
flichtenheld requested review from uddr and a lite review from Copilot August 5, 2026 15:35

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR targets reducing intermittent (“random”) client test failures by adjusting ping parameters, stabilizing OpenVPN client configuration for certain test runs, and adding a wait loop to avoid validating network state while addresses are still in IPv6 “tentative” (DAD) state.

Changes:

  • Increased slow-test fping sample count to reduce flakiness.
  • Refactored Test 4 OpenVPN config to share common flags and added an --lladdr override.
  • Added check_tentative_state() and invoked it before comparing/using ifconfig+route snapshots.

Reviewed changes

Copilot reviewed 1 out of 2 changed files in this pull request and generated 2 comments.

File Description
t_server/original/client_vm/t_client.master/t_client.rc Adjusts fping parameters and refactors Test 4/4a/4b OpenVPN configuration (including --lladdr).
t_server/original/client_vm/bin/t_client.sh Adds a loop to wait for “tentative” addresses to clear before proceeding with network assertions.
Suppressed comments (2)

t_server/original/client_vm/t_client.master/t_client.rc:337

  • After making BASE_CONF_4 device-agnostic, test 4a needs to explicitly set --dev tap3 (the run title indicates tap3). Otherwise it will run with the default device (or whatever is inherited), which is not the intended configuration for this test.
RUN_TITLE_4a="udp6 / p2pm / tap3 / topo subnet"
CHECK_SKIP_4a="needs_openvpn 24" # subnet
OPENVPN_CONF_4a="$BASE_CONF_4 --proto udp6 --topology subnet"

t_server/original/client_vm/t_client.master/t_client.rc:348

  • Once BASE_CONF_4 no longer includes --dev, test 4b needs to specify its device explicitly (it is a tap test per the title). Without this, OpenVPN may default to an unintended device name/type.
RUN_TITLE_4b="udp / p2pm / tap / ipv6-only (pull-filter)"
CHECK_SKIP_4b="needs_openvpn 25" # ipv6-only doesn't work
OPENVPN_CONF_4b="$BASE_CONF_4 --proto udp --pull-filter accept ifconfig- --pull-filter ignore ifconfig"

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread t_server/original/client_vm/t_client.master/t_client.rc
Comment thread t_server/original/client_vm/t_client.master/t_client.rc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants