Skip to content

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

Merged
mmatczuk merged 10 commits intomainfrom
mmt/e2e_pinp
Apr 8, 2024
Merged

fix e2e DNS issues and increase parallelism level by default#772
mmatczuk merged 10 commits intomainfrom
mmt/e2e_pinp

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
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.

mmatczuk added 5 commits April 5, 2024 13:30
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.

mmatczuk added 3 commits April 8, 2024 12:25
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
@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.

2 participants