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

fix: DNSRecord status updates on errors #99

Merged
merged 2 commits into from
Apr 30, 2024

Conversation

mikenairn
Copy link
Member

fixes #96

Fixes an issue where the DNSRecord status was incorrectly being updated on every reconciliation even when errors were occuring causing the reconciler to go into a never ending loop and never exponentially backoff as would be expected in an error case.

@mikenairn mikenairn force-pushed the fix_status_update_on_errors branch from 6ac685b to 6c7b5ea Compare April 29, 2024 08:10
@mikenairn mikenairn force-pushed the fix_status_update_on_errors branch from 54e5d83 to 992b321 Compare April 30, 2024 08:47
@mikenairn mikenairn marked this pull request as ready for review April 30, 2024 09:46
@mikenairn mikenairn force-pushed the fix_status_update_on_errors branch from 992b321 to 19ffb98 Compare April 30, 2024 12:58
@mikenairn mikenairn force-pushed the fix_status_update_on_errors branch from 19ffb98 to f5d2004 Compare April 30, 2024 13:07
Fixes an issue where the DNSRecord status was incorrectly being updated
on every reconciliation even when errors were occuring causing the
reconciler to go into a never ending loop and never exponentially
backoff as would be expected in an error case.

dnsrecord controller:

* Reset WriteCounter, ValidFor, QueuedAt and QueuedFor to previous values before update on error.

Updates e2e tests:

* Move check for zone records to before checking nameservers since it
  will fail quicker.
* Reduce wait time for records being ready 5 -> 1 minute.
Anywhere the plan is manipulating endpoints needs to work with a copy to
ensure that it doesn't change the passed in spec value. Was causing an
issue where the status was being updated incorrectly due to the
dnsrecord spec endpoints changing.
@mikenairn mikenairn force-pushed the fix_status_update_on_errors branch from f5d2004 to 22554f2 Compare April 30, 2024 13:30
current.Status.ValidFor = previous.Status.ValidFor
current.Status.QueuedAt = previous.Status.QueuedAt
current.Status.QueuedFor = previous.Status.QueuedFor
}
Copy link
Member Author

@mikenairn mikenairn Apr 30, 2024

Choose a reason for hiding this comment

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

If we get an error ensure that these status fields are not updated from their previous values

@mikenairn mikenairn added this pull request to the merge queue Apr 30, 2024
Merged via the queue into Kuadrant:main with commit 87e4849 Apr 30, 2024
9 checks passed
@mikenairn mikenairn deleted the fix_status_update_on_errors branch April 30, 2024 13:40
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.

bug: errors in the dns record controller do no backoff and continue to retry
3 participants