Skip to content

Speed up test runs#20

Open
flichtenheld wants to merge 4 commits into
mainfrom
parallel_tests
Open

Speed up test runs#20
flichtenheld wants to merge 4 commits into
mainfrom
parallel_tests

Conversation

@flichtenheld

Copy link
Copy Markdown
Member

No description provided.

"rocky" user is not available at the point where the
files are generated, yet. So move the chown to the
provisioning script instead.

While here, make the permission statements more consistent.

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
This is not used in the t_server test. Having it here is
just confusing.

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
Since we run all the tests in containers and each
group uses a different server, we can just run them
in parallel without any interference.

This massively speeds up the test run obviously.
So far it seems we can achieve at least a reduction
to a fifth of the run-time.

Github: #14
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
Since we run this inside a local network basically,
we can use very agressive ping times. That speeds up
the overall test run.

Remove the unused variable SETUP_TIME_WAIT.

Github: #14
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>

Copilot AI left a comment

Copy link
Copy Markdown

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 aims to reduce overall test wall-clock time by parallelizing client-side test execution and tuning test parameters in the client VM environment, while also making some provisioning adjustments for buildbot.

Changes:

  • Run t_client.sh test groups in parallel from run_t_clients.sh using TEST_RUN_GROUP.
  • Add support in t_client.sh to filter TEST_RUN_LIST by group, and adjust fping pacing for several test sets.
  • Update provisioning scripts/config (podman --rm, buildbot env ownership, cloud-init file permissions) and remove the unused legacy t_client.rc.

Reviewed changes

Copilot reviewed 7 out of 8 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
t_server/tofu/modules/tserver_user_data/provision/t_client.sh.wrapper Run podman container with --rm and pass TEST_RUN_GROUP into the container.
t_server/tofu/modules/tserver_user_data/provision/60-install_buildbot.sh Ensure buildbot env file ownership matches the buildbot user/group.
t_server/tofu/modules/tserver_user_data/main.tf Adjust cloud-init write_files permissions and ownership for systemd/buildbot-related files.
t_server/original/t_client.rc Remove legacy top-level t_client.rc (no longer referenced).
t_server/original/run_t_clients.sh Parallelize client test execution across groups and aggregate results.
t_server/original/client_vm/t_client.master/t_client.rc Tune fping parameters and add per-test ping arg overrides for slower/proxy tests.
t_server/original/client_vm/t_client.22/t_client.rc Tune fping parameters and minor comment cleanup for 2.2 test set.
t_server/original/client_vm/bin/t_client.sh Add TEST_RUN_GROUP filtering to split TEST_RUN_LIST across parallel jobs.

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

Comment on lines 21 to +23
--env "srcdir=/root/t_client.$BRANCH" \
--env "openvpn=/usr/local/bin/openvpn-$BRANCH" \
localhost/openvpn-$BRANCH:latest /root/bin/t_client.sh.real $@
localhost/openvpn-$BRANCH:latest /root/bin/t_client.sh.real
Comment on lines +34 to +36
echo "Starting $T/$G..."
ssh -i $KEY $HOST "TEST_RUN_OVERRIDE='${TEST_RUN_OVERRIDE:-}' TEST_RUN_GROUP=$G ./bin/t_client.sh $T 2>&1" >$LOG &
JOBS="$JOBS $!"
Comment on lines +53 to +55
*) # something else, more details!
echo "SSH $HOST failed (test set $T): rc=$RC" | tee -a $SUMMARY
echo "-----------------"
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.

2 participants