-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
Discontinue use of a single DNS query to validate an endpoint name #4671
Conversation
Hi @jacksontj. Thanks for your PR. I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/ok-to-test |
d8926ef
to
5240b59
Compare
Codecov Report
@@ Coverage Diff @@
## master #4671 +/- ##
==========================================
- Coverage 58.69% 58.66% -0.03%
==========================================
Files 88 88
Lines 6762 6762
==========================================
- Hits 3969 3967 -2
- Misses 2355 2356 +1
- Partials 438 439 +1
Continue to review full report at Codecov.
|
@ElvinEfendi After those test runs I see that a few places test specifically for this behavior, so I have changed the controller to validate the DNS name (the k8s library for this is already a dependency). If you'd prefer to keep that out I can definitely remove it again :) |
/retest |
The lua test stuff was giving me some trouble, so I've split that out into another PR -- #4673 |
8ec83b9
to
c352850
Compare
As the controller stands today this "validation" is done once per config load, which means if the DNS query fails for any reason the endpoint will remain dead until both (1) a change happens to the ingress and (2) the DNS resolution works. If the user configured the name we should just pass it through, this way the lua dns can attempt to re-query it at its leisure.
/assign @ElvinEfendi |
@ElvinEfendi tests are passing, so this PR should be ready to merge :) |
@jacksontj please don't assign PRs manually. Thanks |
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: aledbf, jacksontj 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 |
What this PR does / why we need it:
This resolves issue #4670 by not using a single DNS query to determine the validity of a configured DNS name.
Fixes #4670
Special notes for your reviewer: I have created a test build of this (https://quay.io/repository/jacksontj/ingress-nginx?namespace=jacksontj) and am running it without issue, and can confirm the fix. With this fix it does leave those "broken" services spamming the logs, which is why I have included an addition to the lua log lines to clarify the situation.