-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
increase test timeout to fix intermittent failures of ingress tests #1612
increase test timeout to fix intermittent failures of ingress tests #1612
Conversation
/assign @Raffo |
I would go with removing the poll, if you are up to. I agree that flaky tests are bad, but I'd also love to remove possible races as much as possible. |
I am. Will update the PR to replace the poll. |
@Raffo: I updated the test to check the source's informer cache to determine when it sees all of the relevant Ingress resources. Although this violates encapsulation, using a second informer cache in the test to wait for the resources to be visible introduces the possibility that the source's informer has not updated to be as current as the second informer cache, which I wanted to avoid. Thoughts? |
This looks good to me. Let's get this in and see if we reduced the flakes significantly, thank you for the contribution @tdyas ! |
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: Raffo, tdyas The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Various tests in
testIngressEndpoints
insource/ingress_test.go
consistently fail for me when I runmake build.push
to publish a customexternal-dns
image (withIMAGE_REGISTRY
overridden). The specific sub-test changes each time. Increasing the 3 second wait for Ingress resources to 6 seconds fixes the issue by giving the tests more time to see the relevant Ingress resources appear in the informer cache.A better solution would be to not poll and actually attach a watcher to wait for the API object additions to stabilize.