Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix e2e DNS issues and increase parallelism level by default #772

Merged
merged 10 commits into from
Apr 8, 2024

Conversation

mmatczuk
Copy link
Contributor

@mmatczuk mmatczuk commented Apr 5, 2024

No description provided.

@mmatczuk mmatczuk requested a review from Choraden as a code owner April 5, 2024 09:53
Otherwise, build fails with podman in container or otherwise not configured.
e2e/run.go Outdated
@@ -31,7 +32,7 @@ var args = struct {
setup: flag.String("setup", "", "Only run setups matching this regexp"),
run: flag.String("run", "", "Only run tests matching this regexp"),
debug: flag.Bool("debug", false, "Enables debug logs and preserves containers after running, this will run only the first matching setup"),
parallel: flag.Int("parallel", 1, "How many setups to run in parallel"),
parallel: flag.Int("parallel", runtime.NumCPU()/2+1, "How many setups to run in parallel"),
Copy link
Contributor

Choose a reason for hiding this comment

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

Unfortunately, my Podman machine does not have access to all host's cpus. The parallelism becomes too high and some tests still fail.

Copy link
Contributor

Choose a reason for hiding this comment

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

It's still DNS lookup error for services other than 'proxy' 🤔

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I dropped the commit. We could pass the list of services to the test program.

It happens that the services are up but the DNS name cannot be resolved yet and the test fails.

This prevents that form happening and enables running with more parallelism.
If parallel=1 interrupt does not break the loop.
@mmatczuk
Copy link
Contributor Author

mmatczuk commented Apr 5, 2024

Updated DNS wait to all services.

@Choraden
Copy link
Contributor

Choraden commented Apr 5, 2024

  1. It looks like context cancellation leaks composes - they are not cleaned up. Let's fix it here or open an issue.

  2. Compose networks are visible for each other, thus they can't have the same name. Tests that use internal network fail when their setups happen to be executed simultaneously. Try make -C e2e run-e2e SETUP="flag-dns"

Other than that LGTM.

@mmatczuk
Copy link
Contributor Author

mmatczuk commented Apr 5, 2024

I'm aware of the issues.

Run only single test that specifies a custom network at once.
This allows to have simpler tests code - portable across setups.

$ make run-e2e SETUP=dns
=== setup flag-dns-server PASS (3.14s)
=== setup flag-dns-fallback PASS (10.911s)
PASS
@mmatczuk mmatczuk merged commit 774fbd4 into main Apr 8, 2024
6 checks passed
@mmatczuk mmatczuk deleted the mmt/e2e_pinp branch April 8, 2024 10:53
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.

None yet

2 participants