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

Configure DNS refresh rate from DNS record TTL #3807

Merged
merged 3 commits into from
Sep 21, 2021

Conversation

Alice-Lilith
Copy link
Member

@Alice-Lilith Alice-Lilith commented Sep 17, 2021

Signed-off-by: AliceProxy [email protected]

Description

Creates a new field in Mappings called respect_dns_ttl this configures Envoy’s DNS refresh rate for the Mapping. When true, the cluster’s DNS refresh rate will be set to resource record’s TTL which comes from DNS resolution.

Relevant Envoy Config

Related Issues

List related issues.

Testing

A few sentences describing what testing you've done, e.g., manual tests, automated tests, deployed in production, etc.

Checklist

  • I made sure to update CHANGELOG.md.

    Remember, the CHANGELOG needs to mention:

    • Any new features
    • Any changes to our included version of Envoy
    • Any non-backward-compatible changes
    • Any deprecations
  • This is unlikely to impact how Ambassador performs at scale.

    Remember, things that might have an impact at scale include:

    • Any significant changes in memory use that might require adjusting the memory limits
    • Any significant changes in CPU use that might require adjusting the CPU limits
    • Anything that might change how many replicas users should use
    • Changes that impact data-plane latency/scalability
  • My change is adequately tested.

    Remember when considering testing:

    • LEGACY MODE TESTS DO NOT RUN FOR EVERY PR. If your change is affected by legacy mode, you need
      to run legacy-mode tests manually (set AMBASSADOR_LEGACY_MODE=true and run the tests).
      (This will be fixed soon.)
    • Your change needs to be specifically covered by tests.
      • Tests need to cover all the states where your change is relevant: for example, if you add a behavior that can be enabled or disabled, you'll need tests that cover the enabled case and tests that cover the disabled case. It's not sufficient just to test with the behavior enabled.
    • You also need to make sure that the entire area being changed has adequate test coverage.
      • If existing tests don't actually cover the entire area being changed, add tests.
      • This applies even for aspects of the area that you're not changing – check the test coverage, and improve it if needed!
    • We should lean on the bulk of code being covered by unit tests, but...
    • ... an end-to-end test should cover the integration points
  • I updated DEVELOPING.md with any any special dev tricks I had to use to work on this code efficiently.

@kflynn
Copy link
Member

kflynn commented Sep 20, 2021

I'm honestly debating whether we should make this the default...

Copy link
Member

@kflynn kflynn left a comment

Choose a reason for hiding this comment

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

Looks good except for the lack of a CHANGELOG entry. I'm going to merge this one anyway, and will follow up on the CHANGELOG separately.

@kflynn kflynn merged commit 1c2282d into release/v1.14 Sep 21, 2021
@kflynn kflynn deleted the alicewasko/follow-dns-ttl branch September 21, 2021 13:47
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