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

Manage zone state caches globally #261

Merged
merged 2 commits into from
Jun 20, 2022
Merged

Manage zone state caches globally #261

merged 2 commits into from
Jun 20, 2022

Conversation

MartinWeindel
Copy link
Member

@MartinWeindel MartinWeindel commented Jun 10, 2022

What this PR does / why we need it:
Currently, the zone state caches are managed per internal DNSAccount object.
A DNSAccount object is created per set of credentials as it is not possible to identify the account for all provider types.
If there are now multiple credentials for the same account, e.g. because of credentials rotation, there are multiple DNSAccount instances with separate zone state caches for the same hosted zone(s).
The updates are always executed using the account of the provider of the DNSEntry. But all these updates are performed during a zone reconciliation by comparing to a single cached zone state from one account. This can lead to phantom or missing records in this particular cache and update operations are added to "repair" the mismatches. These update operations will fail und the updates are added on the next reconciliation again until the zone state caches is synchronised periodically.

Using the newly introduced qualified zone ids, the zone state caches are now managed globally. This means there is only one zone state cache per hosted zone globally, independent of the number of DNSAccounts.

Addtionally the option to store the caches in a persistent volume has been removed, as it was never used and adjusting it to the new structure was too much effort.

Which issue(s) this PR fixes:
Fixes #

Special notes for your reviewer:

Release note:

Manage zone state cache globally
Persisting zone state caches with option `--cache-dir` is not supported anymore.

@gardener-robot gardener-robot added needs/review Needs review size/xl Size of pull request is huge (see gardener-robot robot/bots/size.py) needs/second-opinion Needs second review by someone else labels Jun 10, 2022
@gardener-robot-ci-3 gardener-robot-ci-3 added the reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) label Jun 10, 2022
@gardener-robot-ci-2 gardener-robot-ci-2 added needs/ok-to-test Needs approval for testing (check PR in detail before setting this label because PR is run on CI/CD) and removed reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) labels Jun 10, 2022
@gardener-robot
Copy link

@mandelsoft You have pull request review open invite, please check

@gardener-robot-ci-1 gardener-robot-ci-1 added reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) and removed reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) labels Jun 15, 2022
@MartinWeindel MartinWeindel merged commit c17b43d into master Jun 20, 2022
@MartinWeindel MartinWeindel deleted the global-zone-cache branch June 20, 2022 14:14
@gardener-robot gardener-robot added the status/closed Issue is closed (either delivered or triaged) label Jun 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs/ok-to-test Needs approval for testing (check PR in detail before setting this label because PR is run on CI/CD) needs/review Needs review needs/second-opinion Needs second review by someone else size/xl Size of pull request is huge (see gardener-robot robot/bots/size.py) status/closed Issue is closed (either delivered or triaged)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants