Speed up test runs#20
Open
flichtenheld wants to merge 4 commits into
Open
Conversation
"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>
There was a problem hiding this comment.
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.shtest groups in parallel fromrun_t_clients.shusingTEST_RUN_GROUP. - Add support in
t_client.shto filterTEST_RUN_LISTby group, and adjustfpingpacing for several test sets. - Update provisioning scripts/config (podman
--rm, buildbot env ownership, cloud-init file permissions) and remove the unused legacyt_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 "-----------------" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.